MySQL的timeout超时你遇到过几种情况

  • 内容
  • 评论
  • 相关

mysql有好几种timeout的情况,我们先用sql来查一下timeout的情况
show global variables like “%timeout%”;

image

connect_timeout 连接超时
mysql连接共有6次握手,3次TCP协议这个跟connect_timeout参数没有关系,另外3次跟connect_timeout参数有关系,该参数主要是为了防止网络不佳时应用重连导致连接数涨太快,一般默认即可。

delayed_insert_timeout
这是为MyISAM INSERT DELAY设计的超时参数,在INSERT DELAY中止前等待INSERT语句的时间

interactive_timeout
服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。参数默认值:28800秒(8小时)

lock_wait_timeout
锁等待超时时间

net_read_timeout / net_write_timeout
这个参数只对TCP/IP链接有效,分别是数据库等待接收客户端发送网络包和发送网络包给客户端的超时时间,这是在Activity状态下的线程才有效的参数

slave_net_timeout
解释:这是Slave判断主机是否挂掉的超时设置,在设定时间内依然没有获取到Master的回应就人为Master挂掉了

wait_timeout
服务器关闭非交互连接之前等待活动的秒数