mysql 连接超时 wait_timeout interactive_timeout 简介

处理web服务写数据库数据时,常报“MySQL server has gone away”,原因是mysql的wait_timeout、interactive_timeout设置过短,超过时长server会自动断连。介绍了查看和设置超时时间的方法,还说明了两者在交互和非交互模式下的生效情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近处理一个web服务时,写数据库数据时,经常报“MySQL server has gone away”,一查发现是我mysql的wait_timeout、interactive_timeout设置的过短,30s,导致超过这个时长,mysql server会自动断掉这个连接,后续再进行数据库操作就失败跑异常了。

查看mysql server超时时间:

   msyql> show global variables like '%timeout%';

设置mysql server超时时间(以秒为单位): 最小设置

msyql> set global wait_timeout=28800;
msyql> set global interactive_timeout=28800;

mysql默认是28800,即8小时。

1.interactive_timeout: 服务器关闭交互式连接前等待活动的秒数
2.wait_timeout: 服务器关闭非交互连接之前等待活动的秒数。
两者生效取决于:客户端是交互或者非交互的连接。
在交互模式下,interactive_timeout才生效;非交互模式下,wait_timeout生效。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值