MySQL5.7.36之主从复制延迟复制-centos7

设置从库sql_thread延时回放,使得从库晚于主库执行

1、开启延迟复制

复制代码
第一步:关闭sql_thread线程 stop slave sql_thread;
第二步:设置延时时间(单位为秒) change master to master_delay=60;
第三步:启动sql_thread线程 start slave sql_thread;

2、关闭延迟复制

复制代码
第一步:关闭sql_thread线程 stop slave sql_thread;
第二步:设置延时时间(单位为秒) change master to master_delay=0;
第三步:启动sql_thread线程 start slave sql_thread;

3、作用

用户开发、后台管理员误操作(drop,delete)的恢复

复制代码
第一步:停止所有从库的sql_thread线程 stop slave sql_thread;
第二步:show slave status \G;查询起点(手工回放relay log)
 Relay_Log_File: localhost-relay-bin.000025 #回放文件名
 Relay_Log_Pos: 407 #回放起点位置
第三步:查询回放文件的结束位置(也就是你误操作的前面)show relaylog events in 'localhost-relay-bin.000025';
mysql> show relaylog events in 'localhost-relay-bin.000025';
+----------------------------+-----+----------------+-----------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Log_name                   | Pos | Event_type     | Server_id | End_log_pos | Info                                                                                                                                                                                          |
+----------------------------+-----+----------------+-----------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| localhost-relay-bin.000025 |   4 | Format_desc    |         2 |         123 | Server ver: 5.7.36-log, Binlog ver: 4                                                                                                                                                         |
| localhost-relay-bin.000025 | 123 | Previous_gtids |         2 |         194 | cdb77c1e-5769-11ed-a384-000c29274ab2:1-145                                                                                                                                                    |
| localhost-relay-bin.000025 | 194 | Rotate         |         1 |           0 | mysql-bin.000008;pos=4                                                                                                                                                                        |
| localhost-relay-bin.000025 | 241 | Format_desc    |         1 |         123 | Server ver: 5.7.36-log, Binlog ver: 4                                                                                                                                                         |
| localhost-relay-bin.000025 | 360 | Rotate         |         0 |         407 | mysql-bin.000008;pos=194                                                                                                                                                                      |
| localhost-relay-bin.000025 | 407 | Gtid           |         1 |         259 | SET @@SESSION.GTID_NEXT= 'cdb77c1e-5769-11ed-a384-000c29274ab2:146'                                                                                                                           |
| localhost-relay-bin.000025 | 472 | Query          |         1 |         338 | BEGIN                                                                                                                                                                                         |
| localhost-relay-bin.000025 | 551 | Intvar         |         1 |         370 | INSERT_ID=13                                                                                                                                                                                  |
| localhost-relay-bin.000025 | 583 | Query          |         1 |         621 | use `test`; insert into t1 values (null,'test-13','2022-10-29 23:45:16'),(null,'test-14','2022-10-29 23:45:16'),(null,'test-15','2022-10-29 23:45:16'),(null,'test-16','2022-10-29 23:45:16') |
| localhost-relay-bin.000025 | 834 | Xid            |         1 |         652 | COMMIT /* xid=22 */                                                                                                                                                                           |
| localhost-relay-bin.000025 | 865 | Gtid           |         1 |         717 | SET @@SESSION.GTID_NEXT= 'cdb77c1e-5769-11ed-a384-000c29274ab2:147'                                                                                                                           |
| localhost-relay-bin.000025 | 930 | Query          |         1 |         809 | drop database test                                                                                                                                                                            |
总结出来的结果:换句话说就是当前localhost-relay-bin.000025文件误操作的开始位置是407,结束位置是930;
第四步:截取localhost-relay-bin.000025(relay log)日志文件
mysqlbinlog --skip-gtids --start-position=407 --stop-position=930 /data/mysql/mysql3306/data/localhost-relay-bin.000025 >./2022-10-31relay.sql
第五步:关闭binlog日志 set sql_log_bin=0;
第六步:进入从库增量备份文件到从库中 source /root/2022-10-31relay.sql;
第七步:开启binlog日志 set sql_log_bin=1;
第八步:停止当前服务的从线程 stop slave;
第九步:将主库改成从库就行
相关推荐
10岁的博客2 小时前
DevEco Code 的 Plan+Build 模式:审方案再执行的技术深度解析
大数据·数据库·人工智能
wuqingshun3141592 小时前
MySQL 如何解决深度分页问题?
java·mysql·面试
HackTwoHub2 小时前
等级保护现场测评系统重磅更新,支持 AI 接入,可录入全品类资产清单,自动化巡检核查,批量导出测评归档文件
运维·人工智能·安全·web安全·网络安全·自动化·系统安全
buhuizhiyuci2 小时前
【算法篇】位运算 —— 基础篇
java·数据库·算法
川石课堂软件测试2 小时前
安全测试|服务器安全加固方法
服务器·功能测试·测试工具·jmeter·mysql·web安全·单元测试
youtootech2 小时前
HarmonyOS《柚兔学伴》项目实战08-关系型数据库入门——待办事项持久化
jvm·数据库·华为·harmonyos
2401_858286112 小时前
OS79.【Linux】POSIX信号量
linux·运维·服务器
微三云 - 廖会灵 (私域系统开发)3 小时前
电商系统国际化架构设计:多语言、多币种、多时区、多税制的全链路实现
java·前端·数据库
公众号:fuwuqiBMC3 小时前
(转自“服务器BMC”)服务器BMC功能——DDR故障预测
运维·服务器·人工智能
会助力智能会务3 小时前
会务系统供应商怎么选?会助力智能会务系统,一站式数字化会务服务商
大数据·运维·人工智能