首页 > 其他 > 详细

四十六、MHA之binlog_server

时间:2021-04-18 14:09:04      阅读:19      评论:0      收藏:0      [点我收藏+]

binlog server介绍

因为主从复制常常会因为各种因素导致有些许部分延迟,当master发生故障且不能ssh时,从库可能会丢失部分数据无法进行同步。
这时另起一台服务器,作为binlog server使用,实时从主库拉取binlog日志,以便master宕机后,其他从库可以从binlog server中恢复数据。

技术分享图片

配置

最好找一台额外的机器,必须要有5.6以上的版本,支持gtid并开启,我这里还是将就使用10.154.0.113也就是manager来作为binlog server。

1、编辑配置文件

$ vim /etc/mha/app1.cnf 
[binlog1]
no_master=1
hostname=10.154.0.113
master_binlog_dir=/data/master/binlog

[binlog1]:标签,用于分别多台binlog server
no_master=1:不参与选主
master_binlog_dir:从主库拉取的日志存放在本地的路径,不是master存放binlog的日志路径

2、在manager上创建存放binlog目录

$ mkdir -p /data/master/binlog
$ chown -R mysql.mysql /data/*

3、拉取主库binlog日志

$ cd /data/master/binlog   
$ mysqlbinlog  -R --host=10.154.0.111 --user=mha --password=mha --raw  --stop-never mysql-bin.000050 &

注意:
1、必须要进入该目录才能拉取日志。
2、--stop-never:永不停止,源源不断的从master拉取日志,除非master宕机。
3、mysql-bin.000050:从主库的哪个日志开始拉取,生产环境中,一般主从是已经接近同步状态,所以我们一般只拉取master当前使用的日志即可,无需从头拉起。在master的mysql中使用show master status;查看当前使用的日志文件名。

特别注意第3点,如果master日志量过大,binlog server参数值又写的从头拉取日志,则会占用极大的带宽跟IO,造成网络波动。

4、重启MHA-manager

$ masterha_stop --conf=/etc/mha/app1.cnf
$ nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover  < /dev/null> /var/log/mha/app1/manager.log 2>&1 &

$ masterha_check_status --conf=/etc/mha/app1.cnf

学习来自:B站课程:搭建binlogserver P147

四十六、MHA之binlog_server

原文:https://www.cnblogs.com/tz90/p/14673124.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!