MySql'wait_timeout'全局变量与变量

Jus*_*tin 8 mysql

我试图通过暂时将"wait_timeout"减少到60秒而不是默认的28800秒来重现连接超时错误.

我将wait_timeout = 60添加到my.ini文件并重新启动MySql.不幸的是,我仍然无法重现错误条件(除非我想等待28800秒).

下面的查询似乎表明"wait_timeout"在全局变量级别设置为60,但对于常规变量仍设置为28800秒(与会话变量相同吗?).

我怎么能纠正这个?my.ini中的设置如何被覆盖?

感谢您的任何建议,因为我仍然是一个MySql管理员菜鸟.:)

我在Windows XP上运行MySql 5.5.10.

mysql> show variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 28800 |
+---------------+-------+
1 row in set (0.00 sec)

mysql> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 60    |
+---------------+-------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

ype*_*eᵀᴹ 7

来自MySQL文档:wait_timeout:

在线程启动时,会话wait_timeout值从全局wait_timeout值或全局interactive_timeout值初始化 ,具体取决于客户端的类型(由mysql_real_connect()的CLIENT_INTERACTIVE连接选项定义).另请参见interactive_timeout.

您还应该降低ini文件中的interactive_timeout全局变量.

另请注意:

此超时仅适用于TCP/IP和Unix套接字文件连接,而不适用于使用命名管道或共享内存进行的连接.

(正如Vladislav指出的那样,上面的注释应该被忽略,因为这个bug已被修复,超时也适用于与命名管道或共享内存的连接,但显然文档尚未更新.)

  • 感谢您的快速答复.我修改了my.ini文件中的interactive_timeout全局变量 (2认同)