代码之家  ›  专栏  ›  技术社区  ›  maxhugen

mysql错误1205:超过锁等待超时

  •  3
  • maxhugen  · 技术社区  · 15 年前

    我正在使用sqlyog将生产数据库同步到dev数据库。在4张桌子上,我得到:

    Error No. 1205 Lock wait timeout exceeded; try restarting transaction

    研究web似乎表明一个事务已经开始,锁定了表,但是还没有提交。一个帖子说 SHOW PROCESSLIST; 但唯一的进程似乎是我自己的,通过sqlyog。

    我也尝试过重启mysql,但这也没有帮助。

    作为mysql的一个相对新手,我陷入了困境:我无法确定什么事务或进程正在锁定表,也无法确定如何清除这种情况。

    任何建议都将被感激地接受!

    甲基丙烯酸甲酯

    2 回复  |  直到 11 年前
        1
  •  1
  •   arilou    13 年前

    在mysql集群上有同样的问题,我也通过在select之后执行commit/rollback解决了这个问题(至少现在看起来已经解决了——在过去两天内没有失败)。

        2
  •  -2
  •   meetar    11 年前

    导出并重新导入数据库;这通常可以解决许多神秘的问题。您可以通过phpmyadmin或从命令行执行此操作。

    mediatemple的这一页有一套很好的说明: http://kb.mediatemple.net/questions/129/Export+and+import+MySQL+databases#gs

    (好吧,这对我有效!)