【发布时间】:2013-06-19 20:00:44
【问题描述】:
我有一个查询,我在自己的计算机上的 Mysql 工作台中执行,数据库在远程计算机上。
一段时间后,我收到了 2013 错误(在查询期间丢失了与 MySQL 服务器的连接),查询没有任何效果。后来我尝试了一些不同的查询,我总是得到一个:
Error Code: 1205. Lock wait timeout exceeded; try restarting transaction
这是否意味着我执行的查询(在此期间连接丢失)仍然锁定了表,如果是,我该如何释放表。从第一次查询到现在已经三个小时了。
1205 admin_pw BSN-176-177-215.dial-up.dsl.siol.net:9054 admin_pw Query 11217 Sending data DELETE n1 FROM mm_ads_fields_values n1, mm_ads_fields_values n2
WHERE n1.id < n2.id
AND n1.aid = n2
1206 admin_pw BSN-176-177-215.dial-up.dsl.siol.net:9100 admin_pw Sleep 415
1208 admin_pw BSN-176-177-215.dial-up.dsl.siol.net:9281 admin_pw Query 622 Locked ALTER IGNORE TABLE mm_ads_fields_values ADD UNIQUE KEY idx1(aid,value)
1308 admin_pw localhost Sleep 30
1309 admin_pw BSN-176-177-215.dial-up.dsl.siol.net:16938 admin_pw Query 0 show processlist
show show processlist 的输出,得到 2013 错误的第一个查询是 id 为 1205 的查询。
【问题讨论】:
-
什么 mysql> 显示进程列表;输出?另外,你在什么操作系统上? Windows 或 Linux
-
数据库运行在linux上。我使用 Windows。
-
好的,告诉我 show processlist 说什么,然后你就从那里开始。在 CLI 中杀死进程可能取决于操作系统
标签: mysql deadlock mysql-error-2013 mysql-error-1205