mysql hma 分布式_Mysql-HMA 管理

1.简介

在 mysql 主从复制 基础上 集成。请先查询之前内容。

https://my.oschina.net/u/943316/blog/4335125

5eeafe062f9a77beb8e6cec0fc10c82e.png

2.软件下载

3. 免密登录

1.主从服务器相互之间免密登录

2.Mha服务器--->主从服务器  免密登录

#生成秘钥

ssh-keygen

#复制秘钥到其他主机 多台主机依次复制

for i in 192.168.202.{128,129}; do ssh-copy-id $i; done

e7add5d9420d8f69b417f3748e81a5ca.png

检测秘钥是否生效

ssh root@192.168.1.20 'ifconfig'

2e1319ddd0f53a7a7294563ad6d244c8.png

3. 主从服务安装

#安装 node 服务

yum localinstall -y mha4mysql-node-0.56-0.el6.noarch.rpm

4.Hma服务安装

1.按照相关软件

#添加 所需额外 依赖

yum install epel-release

#安装 node 服务

yum localinstall -y mha4mysql-node-0.56-0.el6.noarch.rpm

#安装 manage服务

yum localinstall -y mha4mysql-manager-0.56-0.el6.noarch.rpm

如果出现如下错误

f46a06c905bf6e7201fd433e1c2e96c6.png

#添加 所需额外 依赖

yum install epel-release

如果出现如下错误

52e7f3f2a8e170a95b53339fda61a944.png

2.编辑 Mange 配置文件

vi /etc/masterha_default.cnf

[server default]

#授权的mysql管理用戶名

user=root

password=root

#ssh免密钥登录的帐号名

ssh_user=root

#mysql复制帐号,用来在主从机之间同步二进制日志等

repl_user=root

repl_password=root

#ping间隔,用来检测master是否正常

ping_interval= 1

#文件配置

manager_workdir=/mha

manager_log=/mha/manager.log

remote_workdir=/mha

#binlog路径--可忽略

master_binlog_dir=/var/lib/mysql

[server1]

hostname=192.168.202.128

#候选人,master挂掉时候优先让它顶

candidate_master=1

#用防止master故障时,切换时slave有延迟,卡在那里切不过来

check_repl_delay = 0

[server2]

hostname=192.168.202.129

candidate_master=1

check_repl_delay = 0

[server3]

hostname=192.168.202.131

#不能成为master

no_master=1

check_repl_delay = 0

3.检测 ssh 通讯

masterha_check_ssh --conf=/etc/masterha_default.cnf

8a77b9b883390723249ba7af92c5c9ee.png

4.检测 主从 节点

masterha_check_repl --conf=/etc/masterha_default.cnf

错误 一 ,未关闭 防火墙 (未给外部访问 mysql开启防火墙)

5c7597338976a413eb96a4f4f16eba89.png

错误二  master配置了 忽略数据库,但是 主机备份 未 设置

f3971df24bd856133d1aa8dab65ccb77.png

出现为检测正常

318ee0b11ecb87f89cbb258350e597a1.png

5.启动 MHA

masterha_manager --conf=/etc/masterha_default.cnf --ignore_last_failover &

6.检测 MHA 状态

masterha_check_status --conf=/etc/masterha_default.cnf

80d350b00710d529e4d40d97f2e19d59.png

5.检验MHA服务

1.关闭 master 数据库

systemctl stop mysqld

2.异常时  Master 切换日志

779da2f9db64dcb55709fb1ec5f30dca.png

问题:

a868d68e1b994a629c29e352ba60267d.png

删除  /mysqlData/mha/etc/app/app.failover.complete   或者  启动命令添加  --ignore_last_failover &

3.其他手动切换

masterha_master_switch --conf=/etc/masterha_default.cnf --master_state=alive --new_master_host=新master的IP --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000

masterha_master_switch --master_state=dead --conf=/etc/masterha_default.cnf --dead_master_host=旧master --new_master_host=新master

#参数说明

--master_state=dead

强制的参数,参数值为"dead" 或者 "alive" . 如果 设置为 alive 模式,masterha_master_switch 开始在线主库切换操作。

--dead_master_host=(hostname)

强制参数,宕机的主库所在的主机名称。--dead_master_ip 和 --dead_master_port 是可选参数,如果这些参数没有设置,--dead_master_ip 就是 --dead_master_host 解析的IP地址。--dead_master_port 为 3306

--new_master_host=(hostname)

新主机地址,可选参数,这个参数在你明确新的主库的主机,非常有用。(这就意味着你不需要让MHA来决定新的主库)。如果不设置此参数,MHA 将会利用自动failover的规则来选择新的主库。如果设置--new_master_host,MHA选择此主机为新的主库,如果不能成为主库,MHA将会退出

--skip_change_master

如果设置此参数,当发生failover的时候,MAH 在应用完不同的relay log退出,忽略CHANGE MASTER 和 START SLAVE 操作。所以 slaves 不会指向 新的master. 开启此参数,有利于手动的二次检查slave 恢复是否成功

--skip_disable_read_only

设置此参数,MHA 将不会在新的主库上执行 SET GLOBAL read_only =0 操作,有利于手动操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值