首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NDBCluster复制到InnoDB

将NDBCluster复制到InnoDB
EN

Stack Overflow用户
提问于 2021-02-14 18:37:18
回答 1查看 195关注 0票数 0

我们操作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)是:

代码语言:javascript
复制
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)的配置(除了某些特定于集群的配置)是:

代码语言:javascript
复制
binlog-format=ROW
log-bin=binlog
server_id=120

对于Binlog文件,它们都处于相同的位置。

代码语言:javascript
复制
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
[...]

任何帮助如何解决这一情况,我们将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-14 18:37:18

由于MySQL版本8.0.16除了“log”之外,还必须在主从的my.cnf中设置第二个变量:

代码语言:javascript
复制
ndb-log-bin=ON

有关详细信息,请参阅https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-options-variables.html#sysvar_ndb_log_bin

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66198771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档