mysql 5.6 之 有关timeout参数


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

+-----------------------------+----------+

| Variable_name               | Value    |

+-----------------------------+----------+

| connect_timeout             | 1000     |

| delayed_insert_timeout      | 300      |

| innodb_flush_log_at_timeout | 1        |

| innodb_lock_wait_timeout    | 50       |

| innodb_rollback_on_timeout  | OFF      |

| interactive_timeout         | 28800    |

| lock_wait_timeout           | 31536000 |

| net_read_timeout            | 30       |

| net_write_timeout           | 60       |

| rpl_stop_slave_timeout      | 31536000 |

| slave_net_timeout           | 3600     |

| wait_timeout                | 28800    |

+-----------------------------+----------+


connect_timeout:链接超时,用户登录验证用户身份的时候有效,如果网络不佳,该参数可以稍微设置大一点,一方面可以

延长身份验证时间,增加用户登录成功的概率,另一方面可以防止连接数剧增超过最大限制。默认情况下该值为10s。

对于该值的设置宁可大,不要太小。


innodb_lock_wait_timeout:锁等待超时,默认值为50s,该值默认即可,如果由于大量的锁等待超时,可能检查下sql语句或是索引.


lock_wait_timeout:


interactive_timeout/wait_timeout:交互式和非交互式链接的超时设置,防止客户端长时间链接数据库,什么都不做

处于sleep状态,强制关闭长时间的sleep链接。默认情况先两值的都为28800(8h),一般情况下将两值都设置为1000s就行了


net_read_timeout / net_write_timeout:客户端写入数据/数据接收超时设置,默认就行。


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


innodb_flush_log_at_timeout:事务日志刷新间隔,默认为1s,5.6新增!。参考如下:http://www.xuchanggang.cn/archives/567.html


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


rpl_stop_slave_timeout:控制stop slave 的执行时间,在重放一个大的事务的时候,突然执行stop slave ,

命令 stop slave会执行很久,这个时候可能产生死锁或阻塞,严重影响性能,mysql 5.6可以通过rpl_stop_slave_timeout

参数控制stop slave 的执行时间,



总结:以上参数中,个人觉得比较重要的有

connect_timeout:身份认证超时

innodb_lock_wait_timeout:所等待超时

interactive_timeout\wait_timeout:空闲链接超时


相关链接:

http://www.cnblogs.com/jiunadianshi/articles/2475475.html

http://www.itpub.net/thread-1308603-1-1.html

http://wangwei.cao.blog.163.com/blog/static/10236252620111119115540534/