前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL从库生成大量小的relay log案例模拟

MySQL从库生成大量小的relay log案例模拟

作者头像
July
发布2019-10-24 20:45:24
7070
发布2019-10-24 20:45:24
举报
文章被收录于专栏:数据库干货铺数据库干货铺

1. 案例模拟

原理啥的原文已介绍,此处不再赘述,只是直接进行案例模拟。

1.1 修改参数

从库上查看

代码语言:javascript
复制
mysql> select Heartbeat from mysql.slave_master_info;
+-----------+
| Heartbeat |
+-----------+
|         5 |
+-----------+
1 row in set (0.00 sec)

从库上修改

代码语言:javascript
复制
/**   先查看slave_net_timeout参数 */
mysql> show variables like '%slave_net_timeout%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| slave_net_timeout | 10    |
+-------------------+-------+
1 row in set (0.00 sec)

/**  修改参数slave_net_timeout * /
mysql> set global slave_net_timeout =2;
Query OK, 0 rows affected (0.00 sec)

因设置的值比较小,所以效果很明显。

1.2 主从同步调整

代码语言:javascript
复制
/**  先停止同步 */
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)

/**  调整为延迟60s ,此步骤可以不设置也可以复现,亲测 */
mysql> change master to  master_delay=60;
Query OK, 0 rows affected (0.01 sec)

/**  开启同步 */
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

1.3 查看relay log

会发现每秒生产1个很小的relay log

代码语言:javascript
复制
-rw-r----- 1 mysql mysql  200 Oct 22 15:59 relay_34.000001
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000002
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000003
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000004
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000005
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000006
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000007
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000008
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000009
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000010
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000011
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000012
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000013
-rw-r----- 1 mysql mysql  366 Oct 22 15:59 relay_34.000014
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000015
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000016
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000017
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000018
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000019
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000020
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000021
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000022
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000023
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000024
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000025
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000026
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000027
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000028
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000029
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000030
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000031
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000032
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000033
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000034
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000035
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000036
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000037
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000038
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000039
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000040
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000041
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000042
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000043
-rw-r----- 1 mysql mysql  366 Oct 22 16:00 relay_34.000044
-rw-r----- 1 mysql mysql  366 Oct 22 16:01 relay_34.000045
-rw-r----- 1 mysql mysql  366 Oct 22 16:01 relay_34.000046
-rw-r----- 1 mysql mysql  366 Oct 22 16:01 relay_34.000047
-rw-r----- 1 mysql mysql  366 Oct 22 16:01 relay_34.000048
-rw-r----- 1 mysql mysql  366 Oct 22 16:01 relay_34.000049
-rw-r----- 1 mysql mysql  366 Oct 22 16:01 relay_34.000050
-rw-r----- 1 mysql mysql  366 Oct 22 16:01 relay_34.000051
-rw-r----- 1 mysql mysql  366 Oct 22 16:01 relay_34.000052
-rw-r----- 1 mysql mysql  320 Oct 22 16:01 relay_34.000053
-rw-r----- 1 mysql mysql 2.3K Oct 22 16:01 relay_34.index

至此也就模拟出相应的现象。

2. 搬点原理过来

如果满足下面三个条件,将会出现案例中的故障:

代码语言:javascript
复制
1)主从中的MASTER_HEARTBEAT_PERIOD的值大于从库slave_net_timeout2)
2)主库当前压力很小持续slave_net_timeout设置时间没有产生新的Event3) 
3)之前主从有一定的延迟

按照这个标准去模拟就可以复现了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据库干货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档