The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
原因: Mysql服务器默认的“wait_timeout”是8小时(也就是默认的值默认是28800秒),也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,通俗的讲就是一个连接在8小时内没有活动,就会自动断开该连接。而连接池却认为该连接还是有效的(因为并未校验连接的有效性),当应用申请使用该连接时,就会导致上面的报错。
wait timeout的值可以设定,但最多只能是2147483,不能再大了。也就是约24.85天。
1. 修改方法:MySQL通过my.ini 在-----在mysql不论版本多少都可以使用
# 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
在mybatis中的configuration 的xml文件中配置一个 在连接数据库的url后边加一个?autoReconnect=true 适用于 mysql的4.0以及以下的版本
<!-- 下面这是对数据库的地址以及用户名密码 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!-- <property name="url" value="jdbc:mysql://localhost:3306/xingfuquan2"/> -->
<property name="url" value="jdbc:mysql://112.74.23.162:3306/xingfuquan2?autoReconnect=true"/>
<property name="username" value="root"/>
<property name="password" value="xingfuquan"/>
</dataSource>
问题二:
access denied for user错误