Mark 发表于 2025-5-22 10:21:46

MySQL主从复制问题

本帖最后由 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

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=ROWshow 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。

yejr 发表于 2025-5-22 10:27:40

补充提供my.cnf的配置档,以及执行 show slave status\G 的结果
页: [1]
查看完整版本: MySQL主从复制问题