>데이터 베이스 >MySQL 튜토리얼 >MySQL 8小时问题_MySQL

MySQL 8小时问题_MySQL

WBOY
WBOY원래의
2016-06-01 13:48:111091검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.