项目使用mysql作为数据库部署在Tomcat下,在运行一段时间后,使用登录操作,会发现提示“用户名和密码错误”,而我们输入的用户名密码又确定是正确的,这时我们打开查看Tomcat运行程序,发现有CommunicationsException报错,如下:
这是由于mysql的连接等待时间为8个小时,超过8个小时就会断开与数据库的连接,这样无论输入什么账号密码都会提示错误。
网上提供的方法:
1.mysql5以前的版本可以直接在jdbc连接url的配置中附加上“autoReconnect=true”;
2.将mysql的全局变量wait_timeout的值修改为最大。查看mysql5的手册,发现windows和linux下wait_timeout的最大值分别是24天和365天。
(1).在文件my.ini的最后增加一行:wait_timeout=1814400。(该文件,windows下在mysql的安装目录下,linux下位置为/etc/my.ini)
(2).重启mysql。
我电脑上的mysql的版本为
虽然我的版本超过5.0,但我使用autoReconnect=true方法后,也不存在与数据库连接断开的问题。