Home >Database >Mysql Tutorial >MySQL 8小时问题_MySQL

MySQL 8小时问题_MySQL

WBOY
WBOYOriginal
2016-06-01 13:48:111089browse

bitsCN.com 基于 MySQL的Web网站在一段时间后会经常处于无法响应的状态,或者响应非常慢,这是由于数据库连接自动关闭了。 在MySQL Command Line Client中执行show variables like '%timeout%' 中我们可以看到有两个变量wait_timeout和interactive-timeout,它们的默认值都为28800秒,即为8小时。 也就是说默认情况下,Mysql在经过8小时(28800秒)不使用后会自动关闭已打开的连接。 
1.为了解决这个问题,对于MySQL5之前的版本,如Mysql4.x,只需要修改连接池配置中的URL,添加一个参数:autoReconnect=true, 如果是MySQL5及以后的版本,则需要修改my.cnf(或者my.ini)文件,在[mysqld]后面添加上: 
wait_timeout = n 
interactive-timeout = n 
n为服务器关闭交互式连接前等待活动的秒数。 
2. ruguoc3p0 连接池解决方法                  当属性为true 时可以解决。因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都将校验其有效性。建议使用 idleConnectionTestPeriod或automaticTestTable 等方法来提升连接测试的性能   隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查;
 bitsCN.com

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn