可能導(dǎo)致原因:
1.檢查磁盤空間是否滿 ;
2.在my.ini中配置
[mysqld]
The TCP/IP Port the MySQL Server will listen on
port=3306
this is myown dinifition for mysql connection timeout
wait_timeout=31536000
interactive_timeout=31536000
3.網(wǎng)上原因很多,最終原因都是連接不到數(shù)據(jù)庫(kù)造成的。
(1)、查看防火墻
(2)、tomcat端口是否屏蔽
(3)、查看連接數(shù)據(jù)庫(kù)文件,連接地址是否正確,尤其要注意IP
4.出現(xiàn)異常”The last packet sent successfully to the server was 0 milliseconds ago.“的大部分原因是由于數(shù)據(jù)庫(kù)回收了連接,而系統(tǒng)的緩沖池不知道,繼續(xù)使用被回收的連接所致的。
以mysql為例:
第一種解決辦法,就是將mysql回收空閑連接的時(shí)間變長(zhǎng),mysql默認(rèn)回收時(shí)間是8小時(shí),可以在mysql目錄下的my.ini中增加下面配置,將時(shí)間改為1天。
單位是秒,最大好像是24天:
[mysqld]
wait_timeout=86400
- The last packet successfully received from the server was 20,820,001 milliseconds ago.解決方法
- 如果使用的是JDBC,在JDBC URL上添加?autoReconnect=true,如:
jdbc:mysql://10.10.10.10:3306/mydb?autoReconnect=true
- 如果是在Spring中使用DBCP連接池,在定義datasource增加屬性validationQuery和testOnBorrow,如:
<bean id="vrsRankDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${countNew.jdbc.url}" />
<property name="username" value="${countNew.jdbc.user}" />
<property name="password" value="${countNew.jdbc.pwd}" />
<property name="validationQuery" value="SELECT 1" />
<property name="testOnBorrow" value="true"/>
</bean>
- 如果是在Spring中使用c3p0連接池,則在定義datasource的時(shí)候,添加屬性testConnectionOnCheckin和testConnectionOnCheckout,如:
<bean name="cacheCloudDB" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${cache.url}"/>
<property name="user" value="${cache.user}"/>
<property name="password" value="${cache.password}"/>
<property name="initialPoolSize" value="10"/>
<property name="maxPoolSize" value="${cache.maxPoolSize}"/>
<property name="testConnectionOnCheckin" value="false"/>
<property name="testConnectionOnCheckout" value="true"/>
<property name="preferredTestQuery" value="SELECT 1"/>
</bean>