首页 > 解决方案 > 会话变量不同于 MariaDB 中的全局变量

问题描述

我正在运行一个带有 HAProxy-LB 的 Galera 集群。但是我的用户报告会话变量wait_timeout设置为 60。

我检查了一下 SHOW SESSION VARIABLES LIKE "%wait_timeout%" ,对我来说结果是wait_timeout 610

在我的/etc/mysql/my.cnf(在每个集群节点上)设置值“28800”(默认)我可以通过运行来确认这是使用的: SHOW GLOBAL VARIABLES LIKE "%wait_timeout%" 因为结果是wait_timeout 28800

任何想法为什么这不适用于新会话?HAProxy 只是端口 3306 上的一个愚蠢的转发器。

编辑:更新了所有集群节点上的所有包。还是同样的问题。我什至尝试使用 root 的 mysql 套接字连接来检查它,并且新会话产生的wait_timeout值为 60。 用户 root 的新会话

标签: mysqlmariadbhaproxygalera

解决方案


通常SESSION VARIABLES它们会在建立连接时初始化为设置。GLOBAL之后,可以更改任何一组设置。

但是,wait_timeout特别棘手。不仅有SESSIONand GLOBAL,还有interactive和batch。此外,InnoDB 也有类似的价值。

610是一个不寻常的值。一定是某个人或某个程序改变了它。

你是否达到了意想不到的极限?

可以使用“ping”来保持连接处于活动状态。

您可以检查连接是否已消失,然后重新启动。

请为您的情况提供更多细节。


推荐阅读