MySQL连接超时自动断开连接问题_MySQL

WBOY
풀어 주다: 2016-06-01 13:31:59
원래의
1275명이 탐색했습니다.

bitsCN.com

MySQL连接超时自动断开连接问题

 

描述:

 

    用mybatis2.3.5实现做应用时,程序中报以下错误: 

    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:  

    The last packet successfully received from the server was 79,221,885 milliseconds ago.  

    The last packet sent successfully to the server was 79,221,885 milliseconds ago.  

    is longer than the server configured value of 'wait_timeout'.  

    You should consider either expiring and/or testing connection validity before use in your application,  

    increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.  

 

解释及解决办法: 

 

    如果连接闲置8小时 (mysql的wait_timeout参数默认时间), mysql就会自动断开连接, 得刷新应用才行.  

    不用hibernate的话, connection url加参数:

autoReconnect=true  
로그인 후 복사

用hibernate的话, 加如下属性:

  <property name="connection.autoReconnect">true</property>          <property name="connection.autoReconnectForPools">true</property>          <property name="connection.is-connection-validation-required">true</property>  
로그인 후 복사

要是还用c3p0连接池:

   <property name="hibernate.c3p0.acquire_increment">1</property>          <property name="hibernate.c3p0.idle_test_period">0</property>          <property name="hibernate.c3p0.timeout">0</property>         <property name="hibernate.c3p0.validate">true</property>
로그인 후 복사

例:

jdbc.url=jdbc:mysql://localhost:3306/yht_wxt?zeroDateTimeBehavior=convertToNull&useUnicode=True&characterEncoding=utf8&autoReconnect=true&autoReconnectForPools=true
로그인 후 복사

 


bitsCN.com
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿