MHA集群搭建
一,MHA介绍:
1,简介:MHA是一套解决MySQL高可用的架构,当数据库故障时,它能够在0~30s之内完成故障自动切换,保证数据库服务正常运行;在故障自动切换的过程中它能够最大限度的保障数据的一致性,这样真正意义上达到高可用.
2,组成:
MHA Manager(管理节点):管理所有数据库服务器,可以单独部署在一台服务器上,也可部署在某一台数据库服务器上
MHA Node(数据节点):存储数据的MySQL服务器,运行在每台MySQL服务器上
二,MHA搭建:
1,环境准备:
(1),MHA软件包,MySQL软件包准备
(2),各数据库服务器上配置ssh密钥对无密码登录认证
(3),在数据库服务器上配置一主多从同步结构
2,步骤:
(1),配置ssh免密登录,需在每台服务器上依次配置一遍
]# ssh-keygen //创建秘钥对
]# ssh-copy-id root@192.168.X.X //传递公钥给xx主机
(2),配置MySQL一主多从结构
1),配置主库服务器
~]# vim /etc/my.cnf
[mysqld]
log-bin=master51 //日志名
server_id=51 //指定server_id
:wq
]# systemctl restart mysqld
]# mysql -uroot -p123qqq…A //登录数据库
mysql> grant replication slave on *.* to repluser@"%" identified by “123qqq…A"; //添加从服务器同步数据连接用户
mysql> show master status; //查看日志信息
2)配置从服务器
]# vim /etc/my.cnf
[mysqld]
server_id=52 //指定server_id
:wq //保存并退出
[root@host52 ~]# systemctl restart mysqld //重启数据库服务
[root@host52 ~]# mysql -uroot –p123qqq…A //数据库管理员登录
mysql> change master to //指定主服务器信息
master_host="192.168.4.51", //IP地址
master_user="repluser", //授权用户
master_password="123qqq...A", //授权用户密码
master_log_file="master51.000001", //binlog日志
master_log_pos=441; //偏移量
mysql> start slave; //启动slave进程
mysql> exit ; //断开连接
[root@host52 ~]# mysql -uroot –p123qqq…A –e “show slave status\G” | grep 192.168.4.51
Master_Host: 192.168.4.51 //主服务器Ip地址
[root@host52 ~]# mysql -uroot –p123qqq…A –e “show slave status\G” | grep –i yes
Slave_IO_Running: Yes //I0线程正常
Slave_SQL_Running: Yes //SQL线程正常