mysql - 会话变量不同于 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。
解决方案
通常,SESSION VARIABLES
它们会在建立连接时初始化为设置。GLOBAL
之后,可以更改任何一组设置。
但是,wait_timeout
特别棘手。不仅有SESSION
and GLOBAL
,还有interactive和batch。此外,InnoDB 也有类似的价值。
610
是一个不寻常的值。一定是某个人或某个程序改变了它。
你是否达到了意想不到的极限?
可以使用“ping”来保持连接处于活动状态。
您可以检查连接是否已消失,然后重新启动。
请为您的情况提供更多细节。
推荐阅读
- r - 使用 Rmarkdown 链接到网络目录
- flutter - 更改浮动操作按钮颤动的颜色
- php - 您会信任基于 PHP 应用程序中现有文件夹结构的一部分动态生成的白名单吗?
- image - 在文件夹中保存多个具有不同名称的图像
- google-colaboratory - Google Colab:将大 .zip 文件复制到 colab VM 错误
- docker - Docker 构建 ARG 始终为空字符串
- php - laravel In_array() 函数部分的字符串检测
- deep-learning - 在笔记本电脑上执行庞大的网络进行预测
- bash - 无法使用 crontab 运行脚本
- javascript - 向服务器发送信息时遇到问题