自动终止非活动MySQL连接

自动终止非活动MySQL连接,mysql,Mysql,我正在尝试了解更多关于mysql连接的信息 以下是我执行的几个步骤 1) 点击服务器API几次并进行检查 mysql> SHOW STATUS WHERE variable_name = 'Max_used_connections'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 15

我正在尝试了解更多关于mysql连接的信息

以下是我执行的几个步骤

1) 点击服务器API几次并进行检查

mysql> SHOW STATUS WHERE variable_name = 'Max_used_connections';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 15     |
+----------------------+-------+
1 row in set (0.00 sec)
2) 然后我停止给服务器打电话。并为mysql设置以下两条规则

SET GLOBAL interactive_timeout = 120;
SET GLOBAL wait_timeout = 120;
3) 我等了2分钟,事情没有改变

mysql> SHOW STATUS WHERE variable_name = 'Max_used_connections';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 15     |
+----------------------+-------+
1 row in set (0.00 sec)
我不明白如何在一段时间后删除所有不活动的连接?

您对“最大使用连接数”的假设可能是错误的

据此:

max used connections是自服务器启动以来同时使用的最大连接数的计数。这意味着“使用的最大连接数”的值不会因为手动强制关闭连接而下降

接下来需要解决的问题是,不需要关闭所有连接。只要应用程序代码编写正确,它将在连接完成时“关闭”连接。MySQL将在池中保持“关闭”连接的打开状态,以便下次应用程序“打开”到MySQL的连接时重用该连接。如果没有这种池化和重用,实际打开连接的行为很快就会成为应用程序操作中最昂贵的部分。

您对“最大使用连接数”的假设可能是错误的

据此:

max used connections是自服务器启动以来同时使用的最大连接数的计数。这意味着“使用的最大连接数”的值不会因为手动强制关闭连接而下降

接下来需要解决的问题是,不需要关闭所有连接。只要应用程序代码编写正确,它将在连接完成时“关闭”连接。MySQL将在池中保持“关闭”连接的打开状态,以便下次应用程序“打开”到MySQL的连接时重用该连接。如果没有这种池化和重用,实际打开连接的行为很快就会成为应用程序操作中最昂贵的部分。

有关详细信息,请参阅, 指示线程超时用于“终止连接”。为了有效,您的my.cnf-ini必须为您的要求设置全局值,然后完全关闭/重新启动将能够在等待超时或交互超时过期后消除连接。当中止的\u连接至少增加1时,提示将显示全局状态,如“中止的\u%”结果。当您设置全局等待超时=120和交互式超时=120时,这仅适用于将来的连接,并且您正在查看的连接是使用my.cnf-ini中的超时创建的

有关详细信息,请参见, 指示线程超时用于“终止连接”。为了有效,您的my.cnf-ini必须为您的要求设置全局值,然后完全关闭/重新启动将能够在等待超时或交互超时过期后消除连接。当中止的\u连接至少增加1时,提示将显示全局状态,如“中止的\u%”结果。当您设置全局等待超时=120和交互式超时=120时,这仅适用于将来的连接,并且您正在查看的连接是使用my.cnf-ini中的超时创建的

可能的重复可能的重复