使用MySQL Workbench对表进行操作时无响应,报出连接超时的错误。
Error Code: 2013 Lost connection to MySQL server during query
解决
查看MySQL Workbench连接过期时间是否过短
Preferences-SQL Editor-MySQL Session
MySQL Workbench
将过期时长设置长一点试试,如果还是不行则继续排查。
查看是否有被挂起的进程。
- 打开一个SQL执行窗口,收入以下命令查看进程。
查看进程SHOW PROCESSLIST;
查看DB列是否是当前操作的数据库,查看INFO列是否有无响应的表的信息。
若有,则记住该进程的ID,使用KILL命令杀死该进程。
KILL id(替换为进程ID);
再次尝试操作表,若扔无反应,继续排查。
查看是否有未提交的事务。
SELECt trx_state, trx_started, trx_mysql_thread_id, trx_query FROM information_schema.innodb_trx;
若查询结果中有问题表的相关记录,则记住对应条目的trx_mysql_thread_id列的值,使用KILL命令杀死。
此时表应该可以恢复正常操作。
参考资料:
MySQL锁表解决方法
MySQL出现Waiting for table metadata lock的原因以及解决方法
记一次MySQL中Waiting for table metadata lock的解决方法
网友评论