MySQL表操作超时无响应

2018-01-19  本文已影响268人  8813d76fee36

使用MySQL Workbench对表进行操作时无响应,报出连接超时的错误。

Error Code: 2013 Lost connection to MySQL server during query

解决

查看MySQL Workbench连接过期时间是否过短

Preferences-SQL Editor-MySQL Session


MySQL Workbench

将过期时长设置长一点试试,如果还是不行则继续排查。

查看是否有被挂起的进程。

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的解决方法

上一篇 下一篇

猜你喜欢

热点阅读