注意:修改MySQL的wait_timeout参数时,必须使用global关键字来查看并设置全局变量值,否则仅修改当前会话级别的变量是无法永久生效的。可以通过编辑my.cnf配置文件,或者在MySQL命令行中执行setglobalwait_timeout=3600命令实现修改,例如可设置为3600秒。
原本计划搭建MySQL服务测试经典的“mysql has gone away”问题,但在设置wait_timeout时始终无法生效。经过一番排查,发现问题的根源在于global variables的查询方式。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
关键点在于——查看这个变量存在一个常见的陷阱:
show global variables like '%timeout';
或者
show global variables like 'wait_timeout';
必须使用 global 关键字,否则查询到的只是 session 级别的变量,该值不会随 global 修改而同步更新。
接下来介绍修改wait_timeout的具体操作:
MySQL的配置文件通常名为 my.cnf(Linux)或 my.ini(Windows),常见路径如下:
使用文本编辑器打开文件,找到 [mysqld] 部分,添加或修改 wait_timeout 参数:
[mysqld] wait_timeout = 3600 # 设置为1小时(3600秒)
在MySQL命令行中执行以下语句:
set global wait_timeout = 3600;
之后再查询 global 变量,即可看到修改已生效。
以上即为完整的解决步骤,希望能为你提供清晰的参考。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述