在自己的服务器下面部署了两个Springboot项目,每次都是隔了一周左右mysql就会显示连接不上了,然后每次都是重启mysql服务草草了事,今天又是这样子了,痛定思痛,决定把这个问题解决。
首先google了一下,网上说是出现这个问题是因为超时,数据库连接(java.sql.Connection)连接关闭,因此可以设置连接最长时间,wait_timeout的默认最长时间是28800秒,也就是8小时时间
解决方案如下:
- 直接重启mysql(短期): 在服务器命令行敲入: service mysql restart
- 修改配置文件(长期):
因为连接到服务器默认都是管理员模式,所以命令前缀就不用带上sudo了,直接使用vim编辑器打开mysql配置文件:vim /etc/mysql/my.cnf
然后在末尾添加如下配置:
[mysqld]
wait_timeout=31536000
interactive_timeout=31536000
- 跟换mysql驱动版本,不同的驱动版本连接的时长不同,本人的是8.0.17
4.修改连接的url中 "jdbc:mysql://localhost:3306/test";//?autoReconnect=true&failOverReadOnly=false"将localhost改成127.0.0.1