延时复制 delayed replication
admin
2023-05-25 08:21:28
0

mysql5.6开始支持延时复制,默认master_delay为0秒,

CHANGE MASTER TO MASTER_DELAY = N;

表示延时N秒

原理:延时复制的本质是sql_thread需要等待延时时间之后才能执行。


延时复制适用场景:

(1)防止主库误操作,在复制同步之前,可以停止同步;

(2)用作测试,不用模拟负载就可以实现主从延迟;

(3)用来检查数据库以前的数据,如延迟设置为1周,这样不需要备份恢复就可以看到比对一周以前的数据

(4)reset slave会把SQL_delay的值清零,并且还会把Master_Log_File等值清空,但是不影响复制;



创建一个延时复制:
slave:
root@localhost [testdb]>stop slave;
root@localhost [testdb]>change master to master_delay=60;
root@localhost [testdb]>start slave;

root@localhost [testdb]>show slave status\G
......
                    SQL_Delay: 60  --延时时间
          SQL_Remaining_Delay: 56           --剩余时间
      Slave_SQL_Running_State: Waiting until MASTER_DELAY seconds after master executed event   --等待延时
......
master:
root@localhost [testdb]>delete from t1 where c1=4;

slave:
root@localhost [testdb]>select * from t1;
+----+------+
| c1 | c2   |
+----+------+
|  1 | aaa  |
|  2 | bbb  |
|  3 | ccc  |
|  4 | ddd  |
+----+------+

root@localhost [testdb]>show processlist;
+----+-------------+-----------+--------+---------+------+----------------------------------------------------------------+------------------+
| Id | User        | Host      | db     | Command | Time | State                                                          | Info             |
+----+-------------+-----------+--------+---------+------+----------------------------------------------------------------+------------------+
| 26 | root        | localhost | testdb | Query   |    0 | starting                                                       | show processlist |
| 27 | system user |           | NULL   | Connect |  345 | Waiting for master to send event                               | NULL             |
| 28 | system user |           | NULL   | Connect |   10 | Waiting until MASTER_DELAY seconds after master executed event | NULL             |
+----+-------------+-----------+--------+---------+------+----------------------------------------------------------------+------------------+

#在没有达到60秒之前查看relay-log日志,发现已经写入relay-lo中,说明延时是阻塞SQL_thread线程
[root@Darren1 data]# mysqlbinlog -vv --base64-output=decode-rows relay-bin.000003
BEGIN
/*!*/;
# at 452
#170409 22:12:27 server id 330622  end_log_pos 5624 CRC32 0x86f7edf4    Table_map: `testdb`.`t1` mapped to number 147
# at 502
#170409 22:12:27 server id 330622  end_log_pos 5668 CRC32 0x697c52ed    Delete_rows: table id 147 flags: STMT_END_F
### DELETE FROM `testdb`.`t1`
### WHERE
###   @1=3 /* INT meta=0 nullable=0 is_null=0 */
###   @2='ccc' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */

root@localhost [testdb]>select * from t1;
+----+------+
| c1 | c2   |
+----+------+
|  1 | aaa  |
|  2 | bbb  |
|  3 | ccc  |
+----+------+


相关内容

热门资讯

“普京把半个国家的内阁和经济班... 俄罗斯总统普京开启对中国国事访问行程。此次随同普京访华的俄方代表团有哪些亮点值得关注?凤凰卫视驻北京...
韩国三星电子劳资谈判再破裂,明... 最新消息:韩国三星电子今天(5月20日)的劳资谈判再度宣告破裂,明天起将举行大罢工。这也将是该公司史...
国台办:赖清德上台两年所作所为... 5月20日,国务院台办举行例行新闻发布会。有记者问,赖清德上台满两年,岛内最新民调显示,台湾民众对于...
岛内舆论批评台电力公司砸钱搞“... 【环球网报道】5月20日上午,国台办举行例行新闻发布会,发言人朱凤莲就近期两岸热点问题回答记者提问。...
国安部:网速变慢,元凶竟是它 微信公众号“国家安全部”消息,近期,国家安全机关工作发现,境外间谍情报机关利用我国境内路由器充当“跳...
Vision Pro将支持眼控... 【CNMO科技消息】5月20日,苹果公司发布了多项新辅助功能,包括由Apple Intelligen...
“洪水最高没过2楼楼顶”,女子... 5月17日至18日,湖南常德市石门县普降大暴雨,其中壶瓶山镇、所街乡等地出现极端大暴雨天气过程。暴雨...
暴风雨来临前,百度抛下了锚 AI早已在搜索与推荐完成了对互联网的颠覆,因为搜推是互联网的价值转换器。信息分发、流量匹配、人找信息...
一文看懂谷歌I/O 2026:... 谷歌CEO 桑达尔·皮查伊 出品|搜狐科技 作者|郑松毅 编辑|杨锦 北京时间5月20日凌晨,加州山...
框式交换机为何备受青睐?解读T... 在数据中心与大型企业网络的核心层,框式交换机扮演着至关重要的角色。它不仅是网络流量汇聚与分发的中枢,...