我一直在尝试解决一个我认为可以通过在我的 CentOS 机器上更改 MySQL(5.1.67)中的 wait_timeout 变量来解决的问题。
所以,我用我想要的值(180)更新了 /etc/my.cnf,并重新启动了 MySQL,但现在我惊讶地发现我得到不同的 wait_timeout 值取决于我的显示方式(见下文) :
mysql> show global variables like "%wait%";
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 50 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 180 |
+--------------------------+-------+
3 rows in set (0.00 sec)
mysql> show variables like "%wait%";
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 50 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 28800 |
+--------------------------+-------+
3 rows in set (0.00 sec)
我猜第二个查询显示的是会话变量,而不是全局变量,但我不明白为什么它们会有所不同,在退出我的 MySQL 会话后,重新启动 MySQL,然后再次登录。他们怎么不一样?而且,我想,如何确保相同的值(180)在所有内容中都是一致的?
任何建议/帮助表示赞赏。谢谢。