我正在运行以下 MySQL UPDATE
语句:
mysql> update customer set account_import_id = 1;
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
我没有使用交易,为什么会出现这个错误?我什至尝试重新启动我的 MySQL 服务器,但没有帮助。
该表有 406,733 行。
最佳答案
如何强制解锁 MySQL 中的锁定表:
像这样破坏锁可能会导致atomicity在数据库中不会对导致锁定的 sql 语句强制执行。
这太骇人听闻了,正确的解决方案是修复导致锁定的应用程序。然而,当美元处于危险之中时,快速的一脚会让事情再次发生。
1) 进入 MySQL
mysql -u your_user -p
2)我们来看看锁定表的列表
mysql> show open tables where in_use>0;
3) 让我们看看当前进程的列表,其中一个正在锁定您的表
mysql> show processlist;
4) 杀死其中一个进程
mysql> kill <put_process_id_here>;
关于mysql - 即使我没有使用事务,也会得到 "Lock wait timeout exceeded; try restarting transaction",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5836623/