如何在Mysql中删除sleep进程

4 mysql database

我发现我的mysql服务器有很多连接谁在睡觉.我想删除所有.

所以我如何配置我的mysql服务器,然后删除或处置当前处于休眠状态的连接.

这有可能在mysql中删除这个东西告诉我如何做以下

一个连接只允许一个时间datareader打开并在给出查询重新生成后销毁连接[进程].

Jam*_*all 6

你为什么要删除一个睡眠线程?MySQL为连接请求创建线程,当客户端断开连接时,线程被放回缓存并等待另一个连接.

这减少了创建线程"按需"的大量开销,而且没什么好担心的.睡眠线程使用大约256k的内存.

  • 不,"睡眠"连接也算作连接,它将超过最大可能连接. (4认同)

Sur*_*shi 6

如果你想手动完成,你可以这样做:

以admin身份登录Mysql:

 mysql -uroot -ppassword;
Run Code Online (Sandbox Code Playgroud)

而不是运行命令:

mysql> show processlist;
Run Code Online (Sandbox Code Playgroud)

您将获得如下内容:

+----+-------------+--------------------+----------+---------+------+-------+------------------+
| Id | User        | Host               | db       | Command | Time | State | Info             |
+----+-------------+--------------------+----------+---------+------+-------+------------------+
| 49 | application | 192.168.44.1:51718 | XXXXXXXX | Sleep   |  183 |       | NULL             ||
| 55 | application | 192.168.44.1:51769 | XXXXXXXX | Sleep   |  148 |       | NULL             |
| 56 | application | 192.168.44.1:51770 | XXXXXXXX | Sleep   |  148 |       | NULL             |
| 57 | application | 192.168.44.1:51771 | XXXXXXXX | Sleep   |  148 |       | NULL             |
| 58 | application | 192.168.44.1:51968 | XXXXXXXX | Sleep   |   11 |       | NULL             |
| 59 | root        | localhost          | NULL     | Query   |    0 | NULL  | show processlist |
+----+-------------+--------------------+----------+---------+------+-------+------------------+
Run Code Online (Sandbox Code Playgroud)

您将看到不同连接的完整详细信息.现在你可以杀死睡眠连接,如下所示:

mysql> kill 52;
Query OK, 0 rows affected (0.00 sec)
Run Code Online (Sandbox Code Playgroud)