加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL 中连接超时自动断开的处理方案

发布时间:2023-09-20 16:15:04 所属栏目:MySql教程 来源:
导读:  MySQL 数据库一般默认的连接超时时间为 3600s(1 小时),但是在进行大规模的线程事务操作时,一个连接会一直等待执行,这时候如果数据库的超时时间设置的过短,就可能会出现 Mysql 数据连接自动被释放,影响后面
  MySQL 数据库一般默认的连接超时时间为 3600s(1 小时),但是在进行大规模的线程事务操作时,一个连接会一直等待执行,这时候如果数据库的超时时间设置的过短,就可能会出现 Mysql 数据连接自动被释放,影响后面对数据库的操作。
 
  当然 MySQL 连接设置的大小,要根据需求场景进行设置,wait_timeout 过大也有弊端,其体现就是 MySQL 里大量的 SLEEP 进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可 能会遭遇到 “mysql has gone away” 之类的问题。
 
  所以需要根据自己项目业务场景,进行适当的设置超时时间。
 
  首先介绍下如何查看 mysql 的超时时间方法
 
  在 mysql 命令提示符下执行以下命令即可:
 
  SHOW GLOBAL VARIABLES LIKE '%timeout%'
 
  其次连接超时 wait_timeout 设置方法如下:
 
  方案 1. 在 mysql 命令提示符执行以下命令即可(临时方法,重启 MySQL 服务器会失效,恢复默认值)
 
  SET GLOBAL wait_timeout=15000
 
  
 
  方案 2. 修改 mysql 的配置文件(推荐方法)
 
  Windows 下,配置文件路径为 MySQL 安装的根目录中。my.ini
 
  Linux 系统下,配置文件为路径 /etc/my.cnf
 
  [mysqld]
 
  wait_timeout=10000
 
  interactive_timeout=10000
 
  保存退出,重启 MySQL 服务即可
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章