我试图在mariadb(10.1.31-MariaDB - MASTER)
和之间设置复制mysql(5.7.12-log - SLAVE)
。执行启动从站后,出现以下错误。
致命错误:slave I/O 线程停止,因为在尝试从 master 获取 SERVER_UUID 变量的值时遇到致命错误。
然后我尝试获取master_uuid的值。
MariaDB [(none)]> show variables like '%server_uuid%';
Empty set (0.00 sec)
然后尝试在 mysql 提示符下进行设置。
MariaDB [(none)]> set global server_uuid = 11123c25-cac0-3523-8089-4c54d9b46f33;
ERROR 1193 (HY000): Unknown system variable 'server_uuid'
而且我还尝试在数据目录中设置 auto.cnf。
[auto]
server_uuid = 11123c25-cac0-3523-8089-4c54d9b46f33
chmod 644 auto.cnf
但我仍然得到fatal error is encountered when it tries to get the value of SERVER_UUID variable from master.
MariaDB 没有那个变量,MySQL 有。MariaDB 不是 MySQL 的直接替代品。您看到的错误让我认为从 10.1 复制到 5.7 是不可能的。
可以进行更多调查,但请查看此兼容性表:没有明确的不兼容性声明,但至少他们不能保证从 10.1 复制到 5.7 是可能的。
即使您选择假设这种复制是可能的并找到一种方法来设置它,MySQL 也支持 MariaDB 10.1 不支持的一些语法——不是因为它更高级,而是因为它们采取了不同的方向。这样的语句会破坏复制。