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高可用的主要内容,如果未能解决你的问题,请参考以下文章

基于半同步复制的MHA高可用MySql集群架构搭建实战

搭建MySQL MHA高可用

MySQL集群搭建-MHA高可用架构

基于MHA搭建MySQL Replication集群高可用架构

MHA 高可用集群搭建

MySQL高可用之MHA的搭建