waiting for table metadata lock 解决

时间:2021-08-06 18:20:43

今天网站突然打开很慢,排查发现是一个表获取数据很慢。再仔细排查,发现这个表被锁住了。

 

// 首先查看所有连接,并且带有详细的 lock 原因。找到 lock 的进程 id

SHOW PROCESSLIST;

// 使用 kill 杀掉该进程

kill 52402;

 

杀掉进程后,还会有该情况发生,于是使用命令解锁:unlock tables

 

解锁所有表后,虽然一时可以了,但最终还是要在程序里解决。在lock表后,要及时unlock表。

如果commit设置为不自动提交,要手动commit,否则都有可能引发问题。

 

参考:http://www.fengyunxiao.cn