mysql wait_timeout windows,MySQL的wait_timeout在SQLyog中不正确

Following this question, I set the following MySQL parameter in C:\Program Files\MySQL\MySQL Server 5.5\my.ini (the equivalent of Linux's my.cfg):

[mysqld]

wait_timeout=2147483

After restarting Windows I used SQLyog to see the effect:

SHOW SESSION VARIABLES LIKE 'wait_timeout' gave a result of 28800

SHOW GLOBAL VARIABLES LIKE 'wait_timeout' gave a result of 2147483

How come? I thought the global parameters are used as the default for each new session.

解决方案

Bonus answer: I've gone through the source code of sqlYog.

It's a feature: if the timeout setting > 28800, it is hardcoded

to change the session timeout to 28800 in CommonHelper.cpp.

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());

This explains what you are seeing.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值