4台服务器
192.168.136.128 主
192.168.136.129 从
192.168.136.130 从
192.168.136.131 管理服务器
一主2从,一管理,安装mysql并配置一主两从,设置mysqlbinlog和mysql系统 内核软连接
# ln -s /usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog # ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
1. 配置管理节点131,使4台都可以用ssh免密码彼此登录
管理节点131
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.136.128 把生成的密钥传到 128,129,130 三台服务器上
ssh 192.168.136.128 测试登录是否成功
2.安装MHA
0.1 依赖安装:
节点依赖安装
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
yum install perl-DBD-MySQL
在manager节点上
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
yum install perl-DBD-MySQL
yum install perl-Config-Tiny
yum install perl-Log-Dispatch
yum install perl-Parallel-ForkManager
yum install -y rrdtool perl-rrdtool rrdtool-devel perl-Params-Validate
0.2 rpm包安装: rpm包下载地址(https://pan.baidu.com/s/1jIILpXW)
manager节点:
# rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm
# rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
node节点:
# rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
3 配置
mkdir -p /etc/masterha 存放配置文件
mkdir -p /var/log/masterha 存放日志
[server default] manager_workdir=/var/log/masterha/app1 //设置manager的工作目录 manager_log=/var/log/masterha/app1/manager.log //设置manager的日志 user=root 设置监控用户root password=wangxiaohu //设置mysql中root用户的密码 repl_user=root //设置复制环境中的复制用户名 repl_password=wangxiaohu //设置复制用户的密码 ssh_user=root //设置ssh的登录用户名 ping_interval=1 shutdown_script="" master_ip_online_change_script="" report_script="" master_binlog_dir=/www/server/data //节点binlog的位置 [server1] hostname=192.168.136.128 port=3306 [server2] hostname=192.168.136.129 port=3306 [server3] hostname=192.168.136.130 port=3306
测试一下ssh
masterha_check_ssh --conf=/etc/masterha/app1.cnf
测试一下复制:
masterha_check_repl --conf=/etc/masterha/app1.cnf
开启masterha_manager
nohup masterha_manager --conf=/etc/masterha/app1.cnf > /tmp/mha_manager.log 2>&1 &
看一下状态
masterha_check_status --conf=/etc/masterha/app1.cnf
masterha_check_ssh 检查MHA的SSH配置状况 masterha_check_repl 检查MySQL复制状况 masterha_manger 启动MHA masterha_check_status 检测当前MHA运行状态 masterha_master_monitor 检测master是否宕机 masterha_master_switch 控制故障转移(自动或者手动) masterha_conf_host 添加或删除配置的server信息
看一下日志
tail -f /var/log/masterha/app1/manager.log
测试
停掉192.168.136.128 主mysql service mysql stop
发现 129 成为主,130的主改成129,说明配置成功
mha 处理完故障会自动停止,让用户处理完故障,在打开,解除128故障后,把128设置成从库,修改mha的配置文件中的server1,启动mha,又一切恢复正常
更多资料
http://www.cnblogs.com/wingsless/p/4033093.html