我通过以下方式更改了这些超时:
SET GLOBAL wait_timeout=30; SET GLOBAL interactive_timeout=30
并注意到我有另一个运行的应用程序遇到了这些“低”超时问题。所以我想撤消这个,只将它应用到特定的数据库。
答案 0 :(得分:6)
我在5.5.43
中遇到同样的问题。我有超过2分钟的长时间查询“已消失”错误消息。所以我尝试了这三个:
(1)SHOW VARIABLES LIKE 'wait_%';
(2)SHOW global VARIABLES LIKE 'wait_%';
和
(3)SHOW session VARIABLES LIKE 'wait_%';
。
所有显示wait_timeout为28800
。然后我将wait_timeout = 31536000
添加到/etc/my.cnf
。然后我的长查询就能完成了。从上面显示变量的3种方式来看,只有(2)具有“全局”的变量显示从28800变为31536000.其他2种未受影响。由于我的长查询肯定不到10分钟,这是否意味着此处使用的时间单位是毫秒而不是秒?
答案 1 :(得分:3)
参考 MySQL手册,wait_timeout
和interactive_timeout
的默认值为 - 28800
。
在线程启动时,会话wait_timeout值从全局初始化 wait_timeout 值或全局 interactive_timeout 值,具体取决于 客户端类型(由CLIENT_INTERACTIVE连接选项定义) mysql_real_connect())。另请参见interactive_timeout。
答案 2 :(得分:1)