MHA mysql高可用
2020-01-03 21:03 unique-yichen 阅读(103) 评论(0) 收藏 举报准备至少三台数据库服务器
一台MHA管理服务器
实现过程
修改 master 的数据库配置文件来对其进行初始化配置:
[root@master ~]
slave节点上:
change master to master_host='192.168.37.122', -> master_user='slave', -> master_password='keer', -> master_log_file='mysql-bin.000001', -> master_log_pos=415; #链接master节点
start slave; #开启slave
show slave status \G; #查看slave状态
在所有 Mysql 节点授权拥有管理权限的用户可在本地网络中有其他节点上远程访问。
grant all on *.* to 'mhaadmin'@'192.168.%.%' identified by 'mhapass';
MHA集群中的各节点彼此之间均需要基于ssh互信通信,以实现远程控制及数据管理功能。简单起见,可在Manager节点生成密钥对儿,并设置其可远程连接本地主机后, 将私钥文件及authorized_keys文件复制给余下的所有节点即可。
[root@manager ~]# ssh-keygen
[root@manager ~]# ssh-copy-id root@node1
四个节点都需安装:mha4mysql-node-0.56-0.el6.norch.rpm Manager 节点另需要安装:mha4mysql-manager-0.56-0.el6.noarch.rpm
为MHA专门创建一个管理用户, 方便以后使用, 在mysql的主节点上, 三个节点自动同步:
mkdir /etc/mha_master
vim /etc/mha_master/mha.cnf
配置文件内容如下;
[server default] //适用于server1,2,3个server的配置
user=mhaadmin //mha管理用户
password=mhapass //mha管理密码
manager_workdir=/etc/mha_master/app1 //mha_master自己的工作路径
manager_log=/etc/mha_master/manager.log // mha_master自己的日志文件
remote_workdir=/mydata/mha_master/app1 //每个远程主机的工作目录在何处
ssh_user=root // 基于ssh的密钥认证 repl_user=slave //数据库用户名
repl_password=magedu //数据库密码
ping_interval=1 //ping间隔时长
[server1] //节点2
hostname=192.168.37.133 //节点2主机地址
ssh_port=22 //节点2的ssh端口
candidate_master=1 //将来可不可以成为master候选节点/主节点
[server2]
hostname=192.168.37.133
ssh_port=22
candidate_master=1
[server3]
hostname=192.168.37.144
ssh_port=22
candidate_master=1
检测各节点间 ssh 互信通信配置是否 ok
masterha_check_ssh -conf=/etc/mha_master/mha.cnf
如果最后一行显示为[info]All SSH connection tests passed successfully.则表示成功。
检查管理的MySQL复制集群的连接配置参数是否OK
[root@manager ~]# masterha_check_repl -conf=/etc/mha_master/mha.cnf
浙公网安备 33010602011771号