我正在运行具有多个mysql -u <> -e "select * from tbl"语句的shell脚本。我需要通过我的外壳脚本显式关闭 mysql 连接吗?如果是,你能指导我如何做到这一点吗?
我在 mysql 中看到许多睡眠连接。即使我杀死了它们,它们也会在短时间内再次创建,我怀疑 shell 脚本执行导致了这种情况。
谢谢
如果您没有解决睡眠查询的根本原因,它将重新启动,并在每次终止连接后消耗资源,因此您必须检查代码并修改它以在执行查询后关闭连接。
无论如何,您可以通过其ID杀死任何连接,该ID可以通过以下方式确定:
mysql -e 'show processlist;'
ID将位于第一列中,然后您可以通过以下方法杀死它们:
mysql -e 'kill $ID'
并一次性杀死他们:
for i in $(mysql -e "show processlist" | awk '/Sleep/ {print $1}'); do mysql -e "KILL $i;"; done