Mysql更新:超出锁定等待超时

时间:2015-12-16 10:20:35

标签: mysql mysql-5.6

更新mysql后,我收到此错误

 General error: 1205 Lock wait timeout exceeded; try restarting transaction;

之前没有收到错误,并且在此期间没有更改应用程序..

有时我必须重新启动mysql服务器才能获得对表行的写入权限。即使在几分钟/小时之后,该行仍然被锁定。它永远锁定

mysql 5.6.28

我可以显示所有进程并杀死一个正在睡觉的进程,但如果我必须每天多次手动执行此操作,这不是很方便

SHOW PROCESSLIST;

我杀死的最后一个进程已经运行了1300秒

如何调试问题?到目前为止,它一直是锁定行的表/查询

当用户登录时,锁定等待总是出现..所以我在登录操作中记录了所有写入SQL查询

2015-12-16 13:29 --- REQUEST: action login 
2015-12-16 13:29 BEGIN 
2015-12-16 13:29 INSERT `log_login` SET distributor_id=1,ip=3572642013,time=1450272590,is_error=0,is_client=1,is_distributor=0,is_supervisor=0,is_supervisor_internal=0,client_id=1,user_id=1,distributor_user_id=,supervisor_id=,screen_width=1920,screen_height=1080,country_id=57,city_id=569,browser_id=271,os_id=1 
2015-12-16 13:29 UPDATE `client` SET time_log=1450272590 WHERE id=1 && distributor_id=1 
2015-12-16 13:29 UPDATE `user` SET time_log=1450272590 WHERE id=1 && distributor_id=1 && client_id=1 
2015-12-16 13:29 UPDATE `log_login` SET time_active=0 WHERE id=37771 
2015-12-16 13:29 COMMIT 

它看起来不像脚本多次写入client

当锁定等待出现时,这是锁定(client

的行/查询
2015-12-16 13:29 UPDATE `client` SET time_log=1450272590 WHERE id=1 && distributor_id=1 

0 个答案:

没有答案