解决mysql自动重连

方法(1)
连接mysql的语句写上autoReconnect=true ,不过这是针对mysql版本是5以前的。
重连的实现机制:
在这里插入图片描述
方法(2)
由于MySQL数据库的配置,引起的MySQL等待连接时间(wait_timeout)默认为8小时(28800s)。
设置interactive_timeout和wait_timeout,
msyql>set global interactive_timeout=288000;
msyql>set global wait_timeout=288000;
msyql>show variables like ‘%timeout’;

【注意1】如果设置wait_timeout=288000;实际上没有效果,还是默认为28800s。如果修改interactive_timeout的话wait_timeout也会跟着变,而只修改wait_timeout是不生效的。
【注意2】要在my.ini中加入
interactive_timeout=288000
wait_timeout=288000
不然也没有效果,真是坑!!
在这里插入图片描述
重启数据库

方法(3)
这里说下思路,其实就是模仿方法1,自己开一个线程,在线程中设置一个定时器和计数器,时间到了就查询下数据库。时间要小于8小时,查询目的就是使系统保存一个连接,因为8小时没有操作数据库就会断开连接了。
这就好比是长连接中的心跳包,使数据库一直保持一个连接的状态。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值