本篇文章给大家分享的是有关MySQL MHA高可用架构部署配置实例是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MHA——Master High Availability,目前在MySQL高免费主机域名可用方面是一个相对成熟的解决方案,是一套优秀的MySQL故障切换和主从提升的高可用软件。这里我们提到了两个个关键点:“高可用”,“故障切换“。我们逐一简单介绍一下这两者的含义。高可用就是可用性强,在一定条件下(某个服务器出错或宕机)可以保证服务器可以正常运行,在一定程度上不会影响业务的运行。当主服务器出现错误时,被manager服务器监控到主库mysqld服务停止后,首先对主库进行SSH登录检查(save_binary_logs -command=test),然后对mysqld服务进行健康检查(PING(SELECT)每个3秒检查一次,持续3次),最后作出Master is down!的判断,master failover开始进行对应的处理,具体的过程可以参考网上的博客,这里给出一个链接:https://www.cnblogs.com/xiaoboluo768/p/5210820.html 大家可以参考这位朋友的文章,讲的非常详细。在虚拟机环境下,需要四台Centos7服务器(这里我使用的是Centos7,所以使用的mha版本是0.57的)其中一台作为mha服务器(manager)来监控管理下面的MySQL服务器;其余三台一主两从,其中从服务器中的其中一台作为储备主服务器,当主服务器宕机或出错时提升为主服务器。(这里就是主从提升了)主从复制在上一篇文章中已介绍了MySQL5.7.17版本的配置实例,MySQL5.6.36的配置原理及思路一致,只不过细节上有些许差别。首先,分配一下ip,私网下为了做实验验证就自己定义就行MHA服务器——manager:192.168.68.136MySQL主服务器——master:192.168.68.129MySQL储备主服务器(起初是从服务器)——slave1:192.168.68.132MySQL从服务器——slave2:192.168.68.133相关软件包链接:链接:https://pan.baidu.com/s/1VNdEIYvT1g_xKbrhzYNI-A
提取码:wmyg安装编译环境——安装MySQL5.6.36数据库——配置时间同步(可以参考上篇博客的实验)——配置主从复制与储备MySQL服务器——安装node工具——配置mha服务器——测试验证MySQL服务器配置如下:安装MySQL5.6.36数据库相关优化配置这边我们就不做防火墙规则了,直接进行关闭接着我们分别对三个MySQL数据库进行主配置文件配置1.MySQL主服务器配置——vim /etc/my.cnf2.MySQL从服务器slave1、slave2配置——vim /etc/my.cnf3.master、slave1、slave2分别做两个软链接4.启动MySQL服务5.查看验证端口MySQL服务器上配置——根据自己的网段设置在所有数据库节点上授权两个用户,一个是从库同步使用用户myslave,另一个是manager 使用用户mha注意:该步骤在所有MySQL服务器上都要配置查看MySQL主服务器的同步位置并且进行记录MySQL从服务器上设置同步在主服务器上创建一个数据库,在从服务器上验证是否存在同一数据库;注意!!!必须设置两个从库为只读模式以上就是MySQL5.6.36数据库的手工编译安装与主从复制的流程,下面我们开始进行mha的相关配置1.所有服务器上都安装MHA依赖的环境,首先安装epel源。2.MHA软件包对于每个操作系统版本不一样,这里是centos7.4必须选择0.57版本,
在所有服务器上必须安装node组件,最后在MHA-manager节点上安装manager组件,
因为manager依赖node组件,下面都是在master上操作演示安装node组件3.在MHA-manager上安装manager组件manager 安装后在/usr/local/bin 下面会生成几个工具,主要包括以下几个:
masterha_check_ssh 检查MHA的SSH的配置状况
masterha_check_repl 检查MySQL复制状况
masterha_manager 启动manager脚本
masterha_check_status 检查当前MHA运行状态
masterha_master_monitor 检测master是否宕机
masterha_master_switch 控制故障转移(自动或者手动)
masterha_conf_host 添加或删除配置的server信息
masterha_stop 关闭managernode安装后也会在/usr/local/bin 下面会生成一下几个脚本(这些工具通常由MHA manager
的脚本触发,无需人为操作)主要如下:
save_binary_logs 保存和复制master的二进制日志
apply_diff_relay_logs 识别差异的中继日志事件并将其差异的事件应用于其他的slave
filter_mysqlbinlog 去除不必要的ROLLBACK事件(MHA已不再使用这个工具)
purge_relay_logs 清除中继日志(不会阻塞SQL线程)4.配置无密码认证4.1在 manager 上配置到所有数据库节点的无密码认证4.2在 Mysql1 上配置到数据库节点Mysql2和Mysql3的无密码认证4.3在 Mysql2 上配置到数据库节点Mysql1和Mysql3的无密码认证4.4在 Mysql3 上配置到数据库节点Mysql1和Mysql2的无密码认证5.配置MHA脚本在 manager 节点上复制相关脚本到/usr/local/bin 目录。复制上述的自动切换时 VIP 管理的脚本到/usr/local/bin 目录,这里使用脚本管理 VIP.修改该配置文件如下:主要是添加内容的部分6.创建 MHA 软件目录并拷贝配置文件。编辑修改app1.cnf测试 ssh 无密码认证,如果正常最后会输出 successfully,如下所示。健康检查如下:本实验涉及的内容还是比较多的,配置过程中出现的问题主要有如下几点:主从复制:需要先进行服务器的时间同步;秘钥推送:IP地址要注意是否准确;MHA的两个配置文件的关键之处是否正确;这些都是最容易出错的地方,大家需要格外注意。–remove_dead_master_conf 该参数代表当发生主从切换后,老的主库的 ip 将会从配置文件中移除。–manger_log 日志存放位置。–ignore_last_failover 在缺省情况下,如果 MHA 检测到连续发生宕机,且两次宕机间隔不足 8 小时的话,则不会进行 Failover,之所以这样限制是为了避免 ping-pong 效应。该参数代表忽略上次 MHA 触发切换产生的文件,默认情况下,MHA 发生切换后会在日志记目录,也就是上面设置的日志 app1.failover.complete 文件,下次再次切换的时候如果发现该目录下存在该文件将不允许触发切换,除非在第一次切换后收到删除该文件,为了方便,这里设置为–ignore_last_failover。可以看到当前的master是主服务节点,ip地址是192.168.68.129当然第一次配置需要手动配置VIP(virtual ip)使用pkill -9 mysql模拟主服务器宕机情况查看mysql从服务器slave1是否获取vip 地址我们可以进入slave1的数据库中查看其状态表明从数据库已经成功切换为主服务了。以上就是MySQL MHA高可用架构部署配置实例是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文免费主机域名章学到更多知识。更多详情敬请关注云技术行业资讯频道。
这篇文章主要讲解了“普通二进制文件安装mysql5.7.16的步骤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“普通二进制文件安装mysql5.7.16的步骤”吧!centos6.5 x64安装如下rpm:yu…