今天网站突然打开很慢,排查发现是一个表获取数据很慢。再仔细排查,发现这个表被锁住了。
// 首先查看所有连接,并且带有详细的 lock 原因。找到 lock 的进程 id
SHOW PROCESSLIST;
// 使用 kill 杀掉该进程
kill 52402;
杀掉进程后,还会有该情况发生,于是使用命令解锁:unlock tables
解锁所有表后,虽然一时可以了,但最终还是要在程序里解决。在lock表后,要及时unlock表。
如果commit设置为不自动提交,要手动commit,否则都有可能引发问题。