如何以编程方式配置困连接? - mysql

时间:2014-11-29 09:34:37

标签: mysql asp.net vb.net

在我的网站上使用MySQL作为后端,同时执行网站..在某个阶段我得到的错误为Too many connections

使用类文件处理mysql个事务。在该类文件中,我有一个用于关闭连接的子,如下所示:

 Public Sub CloseConn()
       ConnDB.Close()
       ConnDB.Dispose()
 End Sub 

收到错误后我将重新启动mysql以继续操作。在mysql管理员中我可以看到所有连接状态都是Sleep。我怎样才能以编程方式杀死昏昏欲睡的连接?

1 个答案:

答案 0 :(得分:1)

mysqld将根据两(2)个服务器选项超时数据库连接:

interactive_timeout
 wait_timetout

默认情况下两者都是28800秒(8小时)。

您可以在/etc/my.cnf

中设置这些选项

如果您的连接是持久的(通过mysql_pconnect打开),您可以将这些数字降低到600(10分钟)甚至60(1分钟)的合理范围。或者,如果您的应用程序运行正常,您可以保留默认值。这取决于你。

你必须在my.cnf中设置如下(在mysql重启后生效):

[mysqld]
 interactive_timeout=180
  wait_timeout=180

如果您不想重新启动mysql,请运行以下两个命令:

SET GLOBAL interactive_timeout = 180;
SET GLOBAL wait_timeout = 180;