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:空闲链接超时