1,环境与条件
已存在主从架构环境
主从确保主从状态正常
<代码> mysql>显示奴隶状态\ G; IO与SQL进程为是的代码>
参数更改
<代码> relay_log_purge=0 #不自动删除中继日志以便于宕机修复数据 log_bin=/数据/日志/leo-bin #从库开启binlog以便于宕机修复数据 expire_logs_days=7 log-slave-updates=1 代码>
2,配置SSH
尼古拉斯在运行是会通过SSH服务连接到其他节点服务器进行检测或复制数据,因此需要集群内可免密码登陆。
在leo1-3内分别执行如下命令:
<代码> ssh - keygen - t rsa ssh-copy-id -我~/. ssh/id_rsa。酒吧192.168.3.2 ssh-copy-id -我~/. ssh/id_rsa。酒吧192.168.3.3 ssh-copy-id -我~/. ssh/id_rsa。酒吧192.168.3.4 代码>
3,安装尼古拉斯节点
对所有mysql节点安装尼古拉斯节点
<代码> 1)安装perl语言 yum安装perl-DBD-MySQL - y # # #因为尼古拉斯用perl开发 2)安装尼古拉斯节点 rpm -ivh mha4mysql el6.noarch.rpm——节点- 0.56 - 0. 下载地址 https://code.google.com/archive/p/mysql-master-ha/downloads 3)创建命令软连接方便使用: ls - s/app/mysql/bin/mysqlbinlog/usr/bin/mysqlbinlog ls - s/app/mysql/bin/mysql/usr/bin/mysql 4)检查尼古拉斯账户 所有特权授予 (server1) 主机名=192.168.3.2 端口=3306 (server2) 主机名=192.168.3.4 端口=3306 candidate_master=1 # #设定此参数后server2会将优先升为主库 check_repl_delay=0 # #尼古拉斯忽律主从复制延迟 (server3) 主机名=192.168.3.3 端口=3306 代码>
6,启动及测试
<代码> 1)检测ssh免密登陆代码>
<代码> master_check_ssh相依=/etc/尼古拉斯app1.cnf 代码>
<代码> 2)检测主从复制状态代码>
<代码> master_check_repl相依=/etc/尼古拉斯app1.cnf 代码>
<代码> 3)启动尼古拉斯代码>
<代码> nohup master_manager - conf=/etc/尼古拉斯/app1.cnf——remove_dead_master_conf——ignore_last_failver & lt;/dev/null祝辞/var/log/mha/app1/manager.日志2祝辞,1, # # remove_dead_master_conf在配置文件中删除主信息 # # ignore_last_failver忽律上一次故障切换代码>
7日配置VIP漂移
<代码> 1)利用keepalive 2)在配置文件中填入以下参数 master_ip_failover_script=/usr/地方/bin/master_ip_failover 3)在脚本中加入以下参数 我=$ vip=?92.168.3.6”; 我的关键=0美元 我美元ssh_start_vip="/sbin/ifconfig eth0:关键vip美元”; 我美元ssh_stop_vip="/sbin/ifconfig eth0:美元关键”; chmod + x/etc/mha/master_ip_failover 代码>