我们操作NDBCluster版本8,并希望将这个集群中的数据库复制到“独立”的InnoDB数据库系统中。我遵循这个指南来实现复制:http://johanandersson.blogspot.com/2012/09/mysql-cluster-to-innodb-replication.html,但是我似乎做错了什么,我不知道如何调试它。我知道指南很古老,但我也读过关于MySQL https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-replication.html上NDB复制的章节。
电流行为
我现在设置的复制了"Create“或"Create”、甚至"INSERT“和"UPDATE”语句等语句,只要不涉及引擎NDBCLUSTER。即:我可以在集群中创建一个新的数据库,它将被完美地复制到从服务器上。我可以将新的数据行插入到我在集群上创建的InnoDB表中(我知道,它实际上并没有保存在集群中),这些数据行将被复制到从服务器。将新的数据行插入到NDBCLUSTER表将导致根本没有复制。如果在插入NDBCLUSTER表之前在集群中的SQL节点上执行语句“显示主状态”,那么我可以看到,Binlog位置根本没有改变。
通缉行为
我希望复制能够使用NDBCLUSTER引擎将表中的数据复制到运行在InnoDB上的“我的奴隶”。我知道有局限性,我们必须小心如何构造表格,所有的东西都是兼容的,等等。
电流设置
我们操作一个包含两个管理节点、两个MySQL节点和四个数据节点的InnoDB NDB集群,我们希望复制到一个InnoDB服务器上

所有系统都安装了版本8,运行在Ubuntu18.04上,所有系统都安装了MySQL服务器的群集版本。选择SQL节点进行复制。mysqld部分中奴隶的配置(/etc/my.cnf)是:
server-id=101
log-slave-updates=0
log-bin=binlog
binlog-format=MIXED
slave-exec-mode=IDEMPOTENT
expire-logs-days=5
mysqld配置中的主配置(/etc/my.cnf)的配置(除了某些特定于集群的配置)是:
binlog-format=ROW
log-bin=binlog
server_id=120
对于Binlog文件,它们都处于相同的位置。
mysql> SHOW MASTER STATUS;
+---------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000002 | 10547 | | | |
+---------------+----------+--------------+------------------+-------------------+
mysql> SHOW SLAVE STATUS \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.175.110
Master_User: replicationUser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: binlog.000002
Read_Master_Log_Pos: 10547
Relay_Log_File: innodb-1-relay-bin.000005
Relay_Log_Pos: 365
Relay_Master_Log_File: binlog.000002
Slave_IO_Running: Yes
Slave_SQL_Running: No
[...]
任何帮助如何解决这一情况,我们将不胜感激!
发布于 2021-02-14 18:37:18
由于MySQL版本8.0.16除了“log”之外,还必须在主从的my.cnf中设置第二个变量:
ndb-log-bin=ON有关详细信息,请参阅https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-options-variables.html#sysvar_ndb_log_bin。
https://stackoverflow.com/questions/66198771
复制相似问题