探秘mysql timeout变量

文 / @WordPress主题

MySQL作为一款流行的关系型数据库管理系统,其中的timeout变量是非常重要的参数之一,本文将从几个常用的timeout变量入手,逐一进行分析。

1. connect_timeout:连接超时时间,指连接过程中握手的超时时间,在5.0.52以后默认为10秒,之前版本默认是5秒。

2. interactive_timeout和wait_timeout:不活跃的连接超时时间,连接线程启动的时候wait_timeout会根据是交互模式还是非交互模式被设置为这两个值中的一个。在连接空闲阶段(sleep)起作用。

3. innodb_lock_wait_timeout和innodb_rollback_on_timeout:针对innodb引擎的行锁等待超时时间,默认为50秒。如果超时,则当前语句会回滚。如果设置了innodb_rollback_on_timeout,则会回滚整个事务,否则,只回滚事务等待行锁的这个语句。

4. lock_wait_timeout:元数据锁等待超时,任意锁元数据的语句都会用到这个超时参数,默认为一年。元数据锁可以参加MySQL metadata lock,为了保证事务可串行化,不管是myisam还是innodb引擎的表,只要是先在一个session里面开启一个事务,就会获取操作表的元数据锁。

5. net_read_timeout和net_write_timeout:在网络条件不好的情况下起作用,经过net_read_timeout秒后关闭,如果是writing to net状态,则是经过net_write_timeout秒后关闭。

以上就是常用的几个timeout变量的详细说明,不同的变量在不同的阶段起作用,熟练掌握这些变量对于优化MySQL性能是非常有帮助的。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。