Could not create connection to database server. Attempted reconnect 3 times. Giving up.+10060 unknown error+java.net.NoRouteToHostException: No route to host

可能导致原因:
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.网上原因很多,最终原因都是连接不到数据库造成的。
(1)、查看防火墙

(2)、tomcat端口是否屏蔽

(3)、查看连接数据库文件,连接地址是否正确,尤其要注意IP

4.出现异常”The last packet sent successfully to the server was 0 milliseconds ago.“的大部分原因是由于数据库回收了连接,而系统的缓冲池不知道,继续使用被回收的连接所致的。

       以mysql为例:

       第一种解决办法,就是将mysql回收空闲连接的时间变长,mysql默认回收时间是8小时,可以在mysql目录下的my.ini中增加下面配置,将时间改为1天。

       单位是秒,最大好像是24天:

      [mysqld]

      wait_timeout=86400
  1. 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的时候,添加属性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>

    原文作者:晏子小七
    原文地址: https://www.jianshu.com/p/14213c78dbe1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞