MySQL查询阻塞该如何解决

MySQL是广泛使用的开源数据库管理系统,它提供了方便的查询功能。然而,在高并发访问的情况下,可能出现查询阻塞的情况。下面是一些解决此问题的方法。

SHOW FULL PROCESSLIST;

可以使用上述命令查看所有正在执行的SQL查询,并查看它们是否阻塞其他查询。如果有查询阻塞了其他查询,可以使用下面的方法进行解决。

KILL [connection_id];

在SHOW FULL PROCESSLIST命令中可以看到查询的连接ID,使用上述命令可以强制中断该查询,解除阻塞。

另外,可以通过优化查询来减少查询阻塞的可能性。例如,使用索引、分表等技术来优化查询。

最后,在MySQL配置中可以通过调整调用日志、查询缓存等设置来进一步优化MySQL性能,降低查询阻塞的发生率。

 

解决思路
kill掉mysql进程, 使用的命令kill 进程ID;即可, 但进程太多, 一个一个去敲进去, 太费时间了, 可以考虑拼接这个命令
将拼接结果拿到命令行下运行一下应该就可以了
实施
-- 在navicate查询页面, 使用如下sql语句
select concat("kill ", ID, ";") as command
from information_schema.PROCESSLIST
where HOST regexp "some condtion";

将结果复制到命令行下, 运行一下,看看有不有kill掉.

posted @ 2023-07-26 09:00  全琪俊  阅读(702)  评论(0编辑  收藏  举报