节点重启后,Maxscale失去用户同步

问题描述

我将Maxscale作为3个Galera节点的ReadWriteSplit。 节点1是主节点,其他2是从节点。

我总是通过以下方式在master上创建用户:

mysql -e "CREATE DATABASE ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
mysql -e "CREATE USER IF NOT EXISTS '${DB_NAME}'@'10.1.0.%' IDENTIFIED BY '${DB_PASS}';"
mysql -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_NAME}'@'10.1.0.%';"

由于未重新启动任何点头(出于MariaDB升级或其他原因),一切正常。 但是,如果重新启动该节点,则在任何查询命中SLAVES Maxscale时都会声明:

error  : (2648715) [mariadbbackend] Invalid authentication message from backend 'sql3'. Error code: 1044,Msg : #42000Access denied for user '${DB_NAME}'@'10.1.0.%' to database '${DB_NAME}'
warning: (2648715) [readwritesplit] Refresh rate limit (once every 30 seconds) exceeded for load of users' table.

要解决此问题,在MASTER,我需要再次GRANT ALL PRIVILEGES

mysql -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_NAME}'@'10.1.0.%';"

错误停止。这是错误还是我做的事情不正确?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)