gpt4 book ai didi

mysql复制死锁slave停止

转载 作者:行者123 更新时间:2023-11-29 14:39:18 25 4
gpt4 key购买 nike

我有一个主服务器和一个从服务器,并且从服务器停止了,并在从服务器中显示以下错误日志。我想解决这个问题并让两台服务器同步并重新开始。

111128 8:42:24 [Note] Slave I/O thread: connected to master 'repl@masterIP:3306', replication started in log 'mysql-bin.000006' at position 169

111128 15:46:50 [ERROR] Slave: Query caused different errors on master and slave. Error on master: 'Deadlock found when trying to get lock; try restarting transaction' (1213), Error on slave: 'no error' (0). Default database: 'Dbase'. Query: 'insert into archieved(eid,at,rtime,scode) select id,at,avg(rtime),scode from tstatus where date(at)="2011-10-29" group by id', Error_code: 0 111128 15:46:50 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000006' position 1277768

我不确定如何执行以下操作:

try restarting transaction' (1213)

注意:我在从属设备中出现以下情况,IO 正在运行并且 sql 已停止。我只是想重新同步并避免将来出现这种情况。

 Slave_IO_State: Waiting for master to send event
Master_Host: masterIp
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000006
Read_Master_Log_Pos: 3156089
Relay_Log_File: mysql-relay-bin.000002
Relay_Log_Pos: 1277834
Relay_Master_Log_File: mysql-bin.000006
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:

谢谢。

最佳答案

您必须从应用程序中重新启动事务,mysql 已经忘记了它。

当Mysql遇到死锁时,它会选择一个“获胜者”并让该线程继续,另一个线程将进行回滚,释放它的锁并得到“尝试重新启动事务”错误。

您的应用程序应该尝试检测到这一点并再次尝试相同的查询。希望您不会再陷入僵局。

至于你的从站,我以前没有见过这个错误,这有点令人困惑,我认为失败的主站上的查询永远不会写入bin日志,因此永远不会有“主站和从站出现不同的错误”

无论哪种方式。要解决此问题,您需要运行

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE; 

这将忽略 bin 日志中的第一条语句,然后重新启动服务器。无论该语句是什么,它都不会在从站上运行,因此您必须手动确保主站和从站上的表相同。

祝你好运。

关于mysql复制死锁slave停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8306377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com