无法在MariaDB 10.6 Primary上向用户授予SLAVE MONITOR

xesrikrc  于 2023-06-22  发布在  其他
关注(0)|答案(2)|浏览(137)

我们最近将旧的MariaDB 10.3主版本替换为运行10.6.x的副本。希望这将解决一个奇怪的主/副本问题,我们已经创建副本。
斗争:根据MariaDB文档,为了使用户能够访问MariaDB 10.3中的SHOW REPLICA STATUS(以前的SHOW SLAVE STATUS),该用户需要REPLICATION CLIENT权限。此外,REPLICATION CLIENT在mariadb 10.5.2中重命名为BINLOG MONITOR,并且在10.5.2或更新版本上授予REPLICATION CLIENT权限时,此权限确实显示为BINLOG MONITOR。然而,根据mariadb kb(并通过我的经验证实)“与MariaDB 10.5之前的REPLICATION CLIENT不同,SHOW REPLICA STATUS不包括在此权限中,并且REPLICA MONITOR是必需的”。这让我有点头疼。
老问题:由于杯子和球的把戏MDB决定使用SHOW REPLICA STATUS特权,我无法在旧的主版本上授予REPLICA MONITOR而不出错(因为该特权在10.3上不存在),并且REPLICATION CLIENT在副本上不够(因为SHOW REPLICA STATUS被移动到REPLICA MONITOR)。这将导致我EOL旧的主副本并将10.6副本中的一个升级为主副本。
新的问题(或者只是老问题持续存在):然而,问题是运行10.6的新主程序的行为几乎完全与旧主程序(也是在10.3上)完全相同。唯一的区别是当我现在授予REPLICA MONITOR时,我不会得到一个错误,但授予不会坚持。我可以FLUSH PRIVILEGESSHOW GRANTS...的用户,但它是不存在的。
所以问题是什么会导致mariadb 10.6 primary在这个场景中表现得像以前的10.3 primary?是否有一些配置或系统变量我不知道?
FWIW在故障转移过程中,机器被重新启动了几次,但如果这是修复,它可以再次完成。我也尝试过授予SLAVE MONITOR,这是REPLICA MONITOR的前一个版本,但它也不坚持。我还尝试授予BINLOG MONITOR,它确实可以坚持,但正如我已经介绍的那样,它在10.6上是不够的。

nfeuvbwi

nfeuvbwi1#

我想知道你是否曾经和Mariadb一起为此开了一个问题。我在从Ubuntu 20.04升级到22.04时遇到了同样的问题(正因为如此,从Mariadb 10.3升级到10.6)。使用10.3创建的数据库不能有使用“从属监视器”的用户。但是如果我在10.6上初始化一个新的数据库,那么这个权利就可以被授予。
我已经为问题创建了https://jira.mariadb.org/browse/MDEV-31426

laik7k3q

laik7k3q2#

从10.3升级后,运行mariadb-upgrade。这将改变MariaDB的表结构,以便能够处理10.5中所做的权限更改。

相关问题