实战演练:MySQL手动注册binlog文件造成主从同步异常

m

墨墨导读:本文是作者用MySQL数据库手动注册binlog文件造成主从同步异常后,详述整个分析与解决的过程。


云和恩墨大讲堂线上分享:《weblogic 优化》

时间:2019年7月30日(星期二)20:30-21:30

立即报名:https://cs.enmotech.com/event/57

 
 



一、问题来源



为某些需求,想将备份的binlog文件恢复到主库并且进行注册,在不关闭主从同步的情况下,他做了如下操作:

  1. 将备份的一些binlog文件加入到了binlog日志目录文件中。

  2. 修改index文件,加入了这些binlog文件。

  3. flush binary logs注册文件。

做完这些操作后,主库确实binlog注册回来了, 但是整个主从环境大量延迟。

二、初次测试



测试操作如下:

1. 主库操作,拷贝并且清理binlog
(root:db1@xucl:10:30:22)[(none)]> show binary logs;+---------------------+-----------+| Log_name            | File_size |+---------------------+-----------+| mysql-binlog.000035 |      2134 || mysql-binlog.000036 |    845915 || mysql-binlog.000037 |     11735 || mysql-binlog.000038 |       284 || mysql-binlog.000039 |       284 || mysql-binlog.000040 |       284 || mysql-binlog.000041 |       284 || mysql-binlog.000042 |       234 |+---------------------+-----------+12 rows in set (0.00 sec)
+---------------------+-----------+
| Log_name            | File_size |
+---------------------+-----------+
|
 mysql-binlog.000035 |      2134 |

| mysql-binlog.000036 |    845915 |
|
 mysql-binlog.000037 |     11735 |

| mysql-binlog.000038 |       284 |
|
 mysql-binlog.00003|       284 |

| mysql-binlog.000040 |       284 |
|
 mysql-binlog.000041 |       284 |

| mysql-binlog.000042 |       234 |
+---------------------+-----------+
12 rows in set (0.00 sec)

拷贝需要清理的binlog到备份目录,即binlog 35、36、37、38。

(root:db1@xucl:10:30:34)[(none)]> purge binary logs to 'mysql-binlog.000039';Query OK, 0 rows affected (0.00 sec)(root:db1@xucl:10:30:49)[(none)]> show binary logs;+---------------------+-----------+| Log_name            | File_size |+---------------------+-----------+| mysql-binlog.000039 |       284 || mysql-binlog.000040 |       284 || mysql-binlog.000041 |       284 || mysql-binlog.000042 |       234 |+---------------------+-----------+4 rows in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
(root:db1@xucl:10:30:49)[(none)]> show binary logs;
+---------------------+-----------+
| Log_name            | File_size |
+---------------------+-----------+
|
 mysql-binlog.00003|       284 |

| mysql-binlog.000040 |       284 |
|
 mysql-binlog.000041 |       284 |

| mysql-binlog.000042 |       234 |
+---------------------+-----------+
4 rows in set (0.00 sec)
2. 主库操作,将备份的binlog拷贝回原先的目录并修改index文件进行注册
[root@izbp12nspj47ypto9t6vyez logs]# ll-rw-r----- 1 mysql mysql   2134 5月  20 22:03 mysql-binlog.000035-rw-r----- 1 mysql mysql 845915 5月  20 22:03 mysql-binlog.000036-rw-r----- 1 mysql mysql  11735 5月  20 22:05 mysql-binlog.000037-rw-r----- 1 mysql mysql    284 5月  20 22:06 mysql-binlog.000038-rw-r----- 1 mysql mysql    284 5月  21 10:28 mysql-binlog.000039-rw-r----- 1 mysql mysql    284 5月  21 10:28 mysql-binlog.000040-rw-r----- 1 mysql mysql    284 5月  21 10:28 mysql-binlog.000041-rw-r----- 1 mysql mysql    491 5月  21 10:31 mysql-binlog.000042-rw-r----- 1 mysql mysql    204 5月  21 10:30 mysql-binlog.index
-rw-r----- 1 mysql mysql   2134 5月  20 22:03 mysql-binlog.000035
-rw-r----- 1 mysql mysql 845915 5月  20 22:03 mysql-binlog.000036
-rw-r----- 1 mysql 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值