我有一个在 Centos 6 上运行的 MySQL 5.7.16。我读到了这两个配置变量,
interactive_timeout - interactive time out for mysql shell sessions in seconds like mysqldump or mysql command line tools.
wait_timeout - the amount of seconds during inactivity that MySQL will wait before it will close a connection on a non-interactive connection in seconds.
我在服务器中将这两个变量设置为120秒,这意味着在此时间之后,交互式(mysql shell)和非交互式(如前端应用程序)的连接都应该断开如果它们处于“ sleep ”模式,则会自动执行。
我观察到来自应用程序的一些 session 以及来自不同 IDE(例如 MySQL Workbench)的其他 TCP/IP 连接甚至在 120 秒后仍在运行。有时它们会持续超过 200 秒。
我的配置文件中还需要进行其他设置吗?
最佳答案
您是否将 GLOBAL 变量设置为 120?
使用
SET GLOBAL wait_timeout = 120
已安装
SET wait_timeout= 120
请记住,只有新连接才会刷新该值。
运行:
SELECT @@global.wait_timeout, @@session.wait_timeout;
检查真实值。
关于MySQL 连接超时后进入休眠模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43207890/