myql搭建mha高可用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了myql搭建mha高可用相关的知识,希望对你有一定的参考价值。
myql搭建mha高可用:
注: 本质是主从+高可用保障(1个mha管理节点,1个mysql主节点,1个mysql从节点)
下载网址: https://code.google.com/archive/p/mysql-master-ha/downloads (mha4mysql-manager-0.55.tar.gz)
安装:
mha manager(manager上也需要安装node软件):
rpm -i perl-Config-Tiny-2.14-7.el7.noarch.rpm perl-Parallel-ForkManager-1.18-2.el7.noarch.rpm (包需手动下载)
yum install perl-DBD-MySQL perl-Log-Dispatch perl-Time-HiRes
yum install perl-Class-Load perl-Sys-Syslog perl-Params-Validate perl-MailTools.noarch perl-ExtUtils-MakeMaker perl-CPAN
rpm -i perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm --nodeps (手动下载,这里加了忽略依赖)
tar zxfv mha4mysql-node-0.54.tar.gz (网上手动下载)
cd mha4mysql-node-0.54
perl Makefile.PL
make && make install
tar zxfv mha4mysql-manager-0.55.tar.gz
cd mha4mysql-manager-0.55
perl Makefile.PL
make && make install
mha node:
yum install perl-DBD-MySQL perl-ExtUtils-MakeMaker
tar zxfv mha4mysql-node-0.54.tar.gz (网上手动下载)
cd mha4mysql-node-0.54
perl Makefile.PL
make && make install
配置:
mha manager:
mkdir -p /etc/masterha
cp -rv mha4mysql-manager-0.55/samples/conf/app1.cnf /etc/masterha/
vi /etc/masterha/app1.cnf
[server default] user=monitor (此处为mysql账号) password=xxxxxx ssh_user=root repl_user=slave repl_password=xxxxxx master_binlog_dir= /space/mysqldb/mysql_log remote_workdir=/space/masterha secondary_check_script= masterha_secondary_check -s server1 -s server2 ping_interval=3 manager_workdir=/var/log/masterha/app1 manager_log=/var/log/masterha/app1/manager.log
[server1] hostname=10.0.0.3 candidate_master=1 (设置为候选master)
[server2] hostname=10.0.0.4 candidate_master=1 (设置为候选master)
:wq
开启manager、node之间互相root免密,开启sshd_config PermitRootLogin yes,步骤略
检查node状态:
masterha_check_ssh --conf=/etc/masterha/app1.cnf
检查复制状态: 注: 1、2个node需要给manager ip和node ip都开SELECT,CREATE,UPDATE,DELETE,DROP,SUPER,REPLICATION CLIENT权限 2、暂时的从mysql命令行里设置set global read_only=1;,不写到my.cnf文件
masterha_check_repl --conf=/etc/masterha/app1.cnf
检查manager状态(如果未开启会显示NOT_RUNNING):
masterha_check_status --conf=/etc/masterha/app1.cnf
开启manager服务:
nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &
再次检查manager状态(正常会显示running)
masterha_check_status --conf=/etc/masterha/app1.cnf
关闭manager服务:
masterha_stop --conf=/etc/masterha/app1.cnf
以上是关于myql搭建mha高可用的主要内容,如果未能解决你的问题,请参考以下文章