我最近制作了一份用于我的开发环境的大型32Gig数据库的副本。现在,当我尝试创建,删除,更新项目时出现此错误。
SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction
我想也许副本没有正确使用,有些表被锁定了?
有问题的数据库是test_dev2
,我的开发环境正在使用它。我试图删除test_dev2
的过程,但仍然是同样的错误。
我也重新启动了MySQL服务,但仍然出现同样的错误。
然后我将innodb_lock_wait_timeout
增加到120
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 120 |
+--------------------------+-------+
下载我运行此命令后得到的内容SHOW OPEN TABLES WHERE In_use > 0;
+-----------+------------------+--------+-------------+
| Database | Table | In_use | Name_locked |
+-----------+------------------+--------+-------------+
| test_dev2 | core_url_rewrite | 1 | 0 |
+-----------+------------------+--------+-------------+
有关如何解决此1205 Lock wait timeout exceeded
错误的任何想法?
答案 0 :(得分:0)
询问您的系统管理员您安装此版本的服务器是否有能力处理此大型数据库。
通过删除/减少条目条目来修剪数据库 - 删除客户入口,登录入口,报价等。
确保索引正确完成。