Patrick Asked: 2011-03-04 12:37:00 +0800 CST2011-03-04 12:37:00 +0800 CST 2011-03-04 12:37:00 +0800 CST MySQL 连接睡眠“太长”需要多长时间? 772 我登录到我的服务器以检查数据库的状态,并注意到SHOW PROCESSLIST;有大量非常旧的连接处于休眠状态。 在连接被终止之前,连接时间限制应该是多长时间? 如何在 MySQL 5.0.51a-3ubuntu5.4 中设置时间限制? 笔记: 我正在使用 PHP 5.2.x 和 symfony 框架 1.2。 mysql mysql-5 1 个回答 Voted Best Answer RolandoMySQLDBA 2011-03-04T13:22:42+08:002011-03-04T13:22:42+08:00 mysqld将基于两个服务器选项使数据库连接超时: 交互超时 等待超时 默认情况下,两者都是 28,800 秒(8 小时)。 您可以在中设置这些选项/etc/my.cnf 如果您的连接是持久的(通过打开mysql_pconnect),您可以将这些数字降低到合理的值,例如 600(10 分钟)甚至 60(1 分钟)。或者,如果您的应用运行良好,您可以保留默认设置。这取决于你。 必须在(重启my.cnf后生效)中进行如下设置:mysqld [mysqld] interactive_timeout=180 wait_timeout=180 如果你不想重启mysql,那么运行这两个命令: SET GLOBAL interactive_timeout = 180; SET GLOBAL wait_timeout = 180; 这不会关闭已经打开的连接。这将导致新连接在 180 秒内关闭。
mysqld
将基于两个服务器选项使数据库连接超时:默认情况下,两者都是 28,800 秒(8 小时)。
您可以在中设置这些选项
/etc/my.cnf
如果您的连接是持久的(通过打开
mysql_pconnect
),您可以将这些数字降低到合理的值,例如 600(10 分钟)甚至 60(1 分钟)。或者,如果您的应用运行良好,您可以保留默认设置。这取决于你。必须在(重启
my.cnf
后生效)中进行如下设置:mysqld
如果你不想重启mysql,那么运行这两个命令:
这不会关闭已经打开的连接。这将导致新连接在 180 秒内关闭。