centos7搭建mysql5.7 高可用(MHA)

本文介绍了如何在CentOS7环境下搭建MySQL5.7的高可用架构,采用MHA(Master High Availability)工具,详细阐述了从主从配置、MHA软件安装、SSH无密码验证到MHA配置和测试的全过程。
摘要由CSDN通过智能技术生成

数据库架构:一主二从

master:192.168.0.11
slave1:192.168.0.201
slave2:192.168.0.202

MHA软件:下载地址

mha4mysql-manager-0.57.tar.gz
mha4mysql-node-0.57.tar.gz

Manager工具包主要包括以下几个工具:

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信息

Node工具包(这些工具通常由MHA Manager的脚本触发,无需人为操作)主要包括以下几个工具:

save_binary_logs                保存和复制master的二进制日志
apply_diff_relay_logs           识别差异的中继日志事件并将其差异的事件应用于其他的slave
filter_mysqlbinlog              去除不必要的ROLLBACK事件(MHA已不再使用这个工具)
purge_relay_logs                清除中继日志(不会阻塞SQL线程)

一、配置msyql5.7
1.在配置文件添加,三台服务器一样,只需修改server-id和log-bin。
注意:binlog-do-db 和 replicate-ignore-db 设置必须相同。 MHA 在启动时候会检测过滤规则,如果过滤规则不同,MHA 不启动监控和故障转移,这里没有设置。

server-id=266
log-bin=mysql-bin
gtid_mode = on
#开启gtid,必须主从全开
enforce_gtid_consistency = 1
log_slave_updates = 1
#开启半同步复制  否则自动切换主从的时候会报主键错误
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
loose_rpl_semi_sync_master_enabled = 1
loose_rpl_semi_sync_slave_enabled = 1
loose_rpl_semi_sync_master_timeout = 5000

2.启动服务器,配置主从 (这里简写,百度很多)

mysql5.7会默认加载validate_password 模块,是来控制密码长度和规则的,可以在配置文件里面关闭该模块  加上validate_password = off ,或者在mysql命令行执行set global validate_password_policy=0;来临时取消密码规则。

在三台服务器上配置复制用户和监控用户,三台服务器都要添加。

添加复制用户

 grant replication slave on *.* to 'repl'@'192.168.0.%' identified by '123456';
这里注意一定要用repl用户,否则后边会报找不到复制用户

加监控用户

 grant all privileges on *.* to 'root'@'192.168.0.%' identified  by '123456';

在master上执行

show master status;

记住File 和Position列的数字

在salve1 和salve2上执行

change master to master_host='192.168.0.11',master_user='repl',master_password='123456',master_log_file='mysql-master.000001',master_log_pos=194;
#设置从服务器只读,不要在配置文件里写,重点!!!不然不小心从服务器写入了数据,有你哭的
set global read_only=
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值