MySQL中链接超时自动断开的解决方案

前言:

MySQL数据库通常默认的链接超时时间为3600s(1小时),可是在进行大规模的线程事务操做时,一个链接会一直等待执行,这时候若是数据库的超时时间设置的太短,就可能会出现Mysql数据链接自动被释放,影响后面对数据库的操做。mysql

固然MySQL链接设置的大小,要根据需求场景进行设置,wait_timeout过大也有弊端,其体现就是MySQL里大量的SLEEP进程没法及时释放,拖累系统性能,不过也不能把这个指设置的太小,不然你可 能会遭遇到“mysql has gone away”之类的问题。sql

因此须要根据本身项目业务场景,进行适当的设置超时时间。数据库

首先介绍下如何查看mysql的超时时间方法

在mysql命令提示符下执行如下命令便可:服务器

SHOW GLOBAL VARIABLES LIKE '%timeout%'

其次链接超时wait_timeout设置方法以下:

方案1.在mysql命令提示符执行如下命令便可(临时方法,重启MySQL服务器会失效,恢复默认值)性能

SET GLOBAL wait_timeout=15000

 

方案2.修改mysql的配置文件(推荐方法)spa

  • Windows下,配置文件路径为MySQL安装的根目录中。my.ini
  • Linux系统下,配置文件为路径/etc/my.cnf
[mysqld]

wait_timeout=10000
interactive_timeout=10000

保存退出,重启MySQL服务便可线程

相关文章
相关标签/搜索