You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MaxScale搭配MariaDB自动故障切换时报Access denied错误如何解决?

问题根因

MariaDB 10.3 版本中,SET STATEMENT max_statement_time = N FOR <执行语句> 语法需要账号持有单独的 STATEMENT TIMEOUT 权限,该权限不属于 SUPER 权限的覆盖范围,你当前为monitor_user授予的权限中缺失该项,因此触发1045访问拒绝报错。

解决方案

方案1:补全权限(推荐)

登录所有MariaDB节点(主库、从库),使用高权限账号执行以下授权语句:

GRANT STATEMENT TIMEOUT ON *.* TO 'monitor_user'@'192.168.100.%';
FLUSH PRIVILEGES;

授权完成后可执行以下命令验证权限是否生效:

SHOW GRANTS FOR 'monitor_user'@'192.168.100.%';

确认返回结果包含STATEMENT TIMEOUT权限后,重启MaxScale服务,再测试故障切换即可正常执行。

方案2:关闭MaxScale操作超时限制

如果不想新增数据库权限,可修改MaxScale配置文件中[mariadbmon]模块的配置,添加以下参数关闭超时设置:

failover_timeout=0

修改完成后重启MaxScale服务即可,该配置会让MaxScale执行STOP SLAVE等操作时不再包裹SET STATEMENT max_statement_time语句,不会触发权限报错。


内容的提问来源于stack exchange,提问作者lc63

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:54:02