本帖最后由 Mark 于 2025-5-22 12:57 编辑
- # 第1步:停止主从复制
- STOP SLAVE;
- # 第2步:从库查看同步状态:双NO,Read_Master_Log_Pasotion和Exec_Master_Log_Pasotion=61860,Relay_Log_Pos=273,Relay_Log_File=pos-slave-relay-bin.000065
- SHOW SLAVE STATUS;
- # 第3步:主库插入事务
- INSERT INTO `test`.`t1` (`id`, `name`, `date`, `del_flag`) VALUES (20, '20', NULL, b'1');
- # 第4步:从库查看同步状态:双NO,而且Read_Master_Log_Pasotion和Exec_Master_Log_Pasotion=61860,Relay_Log_Pos=273,Relay_Log_File=pos-slave-relay-bin.000065
- SHOW SLAVE STATUS;
- # 查看从库relay log事件,没东西
- SHOW RELAYLOG EVENTS IN 'pos-slave-relay-bin.000065';
- # 第5步:从库跳过一个事务
- SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
- # 第6步:从库开启主从
- START SLAVE;
- # 第7步:从库查看同步状态:双YES,Read_Master_Log_Pasotion和Exec_Master_Log_Pasotion=master最新的62122,Relay_Log_Pos=583,Relay_Log_File=pos-slave-relay-bin.000066。从库没有同步主库插入的事务。
- SHOW SLAVE STATUS;
- 为什么在stop slave;情况下,从库没有收到binlog转到relay log,最后start slave;的时候,还能跳过从库relay log的event的。
复制代码 my.cnf配置:
- #my.cnf
- [mysqld]
- user = mysql
- port=3306
- server_id=2
- log-error=/var/log/mysql/mysql-error.log
- #每个节点都要启用binlog
- log-bin=mgr-binlog
- #binlog format务必是row模式
- binlog_format=ROW
复制代码 show slave status结果:
双YES,Read_Master_Log_Pasotion和Exec_Master_Log_Pasotion=master最新的62122,Relay_Log_Pos=583,Relay_Log_File=pos-slave-relay-bin.000066。
|