MHA(MySQL集群)

一、MHA集群
(1)无密码连接
(2)配置主从(如果主机宕机那么 MHA 会在从库上选择数据最接近主库的从库 做为新的主机 另外一个自动作为新主机的从库)
(3)MHA工作过程

二、装包配置
(1)所有主机安装 MHA为perl语音写的 安装 MHA所需要的
(2)配置一主多从
(3)管理集群的命令
在管理节点上安装

perl Makefile.pl 检查perl的依赖包

(4)编辑主配置文件
需要自己创建工作目录 在源码文件中复制app1.cnf文件
[root@mgm57 ~ ]# mkdir /etc/mha //创建工作目录
[root@mgm57 ~ ]# cp mha4mysql-manager-0.56/sample/conf/app1.cnf /etc/mha/ //拷贝模板文件
[root@mgm57 ~ ]# vim /etc/mha/app1.cnf //编辑主配置文件
[server default] //管理服务默认配置
manager_workdir=/etc/mha //工作目录
manager_log=/etc/mha/manager.log //日志文件
master_ip_failover_script=/etc/mha/master_ip_failover //故障切换脚本
ssh_user=root //访问ssh服务用户
ssh_port=22 //ssh服务端口
repl_user=repluser //主服务器数据同步授权用户
repl_password=123qqq…A //密码
user=root //监控用户
password=123qqq…A //密码
[server1] //指定第1台数据库服务器
hostname=192.168.4.51 //服务器ip地址
port=3306 //服务端口
candidate_master=1 //竞选主服务器
[server2] //指定第2台数据库服务器
hostname=192.168.4.52
port=3306
candidate_master=1
[server3] //指定第3台数据库服务器
hostname=192.168.4.53
port=3306
candidate_master=1
:wq
(5)创建故障切换脚本
[root@mgm57 ~]# vim +35 /etc/mha/master_ip_failover my $vip = '192.168.4.100/24'; # Virtual IP //定义VIP地址 my $key = "1"; //定义变量$key my $ssh_start_vip = "/sbin/ifconfig eth0:$key $vip"; //部署vip地址命令 my $ssh_stop_vip = "/sbin/ifconfig eth0:$key down"; //释放vip地址命令 :wq
(6)给主服务器绑定vip(在主服务器宕机后vip会飘到下一个选举的主机上)
[root@host51 ~]# ifconfig eth0:1 //部署之前查看
eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 52:54:00:d8:10:d7 txqueuelen 1000 (Ethernet)
[root@host51 ~]# ifconfig eth0:1 192.168.4.100 //部署vip地址(这个是临时的重启就没了需要永久还是在文件中配置)
[root@host51 ~]# ifconfig eth0:1 //部署后查看
eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.100 netmask 255.255.255.0 broadcast 192.168.4.255
ether 52:54:00:d8:10:d7 txqueuelen 1000 (Ethernet)
(7)配置MySQL节点 在所有的数据库上安装MHA_node软件包
rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
每台服务器添加监控用户(如果配置主从只需要在主库操作)
grant all on *.* to root@"%" identified by "123qqq...A";
每台服务器添加数据同步连接用户(每台服务器都可能成为主库)
grant replication slave on *.* to repluser@"%" identified by "123qqq...A";
(8)所有数据库启用半同步复制模式和 禁止自动删除所有主机上的中继日志

(9)在从库上 定义 server_id 和 binlog日志
(10)测试 ssh

(11)测试 主从同步

(12)启动管理服务

三、修复故障机器
(1)与主服务器数据一致
(2)指定主库 开启start slave
(3)在MHA配置文件中添加故障主机的信息
(4)测试ssh 和 主从同步
(5)重启 MHA


浙公网安备 33010602011771号