当目标服务器是 MariaDB 10.5 时复制 mysql 数据库(其中 mysql.user 是一个视图)

当目标服务器是 MariaDB 10.5 时复制 mysql 数据库(其中 mysql.user 是一个视图)

我有一个同步脚本,它在源服务器上对 mysql 数据库执行 mysqldump,然后在目标服务器上导入该转储,然后刷新权限。系统是 CentOS 7。

在 MariaDB 10.5 中,mysql.user 不再是真正的表,而是一个视图。源系统运行的是 MariaDB 10.2,其中 mysql.user 是一个真正的表。

当同步运行时,它会破坏 mysql。为了修复它,我必须关闭 mariadb,使用 --skip-grant-tables 启动它,运行 mysql_upgrade --force,再次关闭它,然后重新启动服务。

我关心的是复制用户表,但我们发现复制整个 mysql 数据库更容易。

当目标服务器上的 mysql.user 不是真实表时,我该如何设法复制 mysql 数据库?

相关内容