gpt4 book ai didi

SQLyog 中的 MySQL wait_timeout 不正确

转载 作者:行者123 更新时间:2023-11-29 01:45:23 24 4
gpt4 key购买 nike

正在关注 this question ,我在 C:\Program Files\MySQL\MySQL Server 5.5\my.ini 中设置了以下 MySQL 参数(相当于 Linux 的 my.cfg):

[mysqld]
wait_timeout=2147483

重新启动 Windows 后,我使用了 SQLyog查看效果:

  • SHOW SESSION VARIABLES LIKE 'wait_timeout' 给出了 28800
  • 的结果
  • SHOW GLOBAL VARIABLES LIKE 'wait_timeout' 给出了 2147483
  • 的结果

怎么会?我认为全局参数用作每个新 session 的默认值。

最佳答案

奖励答案:我已经阅读了 sqlYog 的源代码。

这是一个特性:如果超时设置> 28800,它是硬编码的在 CommonHelper.cpp 中将 session 超时更改为 28800。

3314   //Session wait_timeout3315   timeout = conn->m_strwaittimeout.GetAsUInt32();
3316
3317 if(timeout > 28800 || timeout <= 0)
3318 conn->m_strwaittimeout.SetAs("28800");
3319
3320 strtimeout.Sprintf("/*!40101 set @@session.wait_timeout=%s */", conn->m_strwaittimeout.GetString());
3321 mysql_options(*pmysql, MYSQL_INIT_COMMAND, strtimeout.GetString());

这解释了您所看到的。

关于SQLyog 中的 MySQL wait_timeout 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com