10bet网址
MySQL 5.6参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

18.6.2 NDB集群复制的一般要求

复制通道需要两个MySQL服务器作为复制服务器(源服务器和副本服务器各一个)。例如,这意味着在有两个复制通道(为冗余提供额外通道)的复制设置中,总共有4个复制节点,每个集群两个。

本节和以下描述的NDB集群复制依赖于基于行的复制。这意味着MySQL服务器必须运行复制源--binlog-format =行——binlog-format =混合,如第18.6.6节,“启动NDB集群复制(单复制区域通道)”。有关基于行复制的一般信息,请参见第17.1.2节“复制格式”

重要的

如果您试图使用NDB集群复制——binlog-format =声明,复制无法正常工作,因为ndb_binlog_index源集群和时代列的ndb_apply_status.副本集群上的表未更新(请参阅第18.6.4节,“NDB集群复制模式和表”)。相反,只有作为复制源的MySQL服务器上的更新仅传播给副本,而且没有从源群集中的任何其他SQL节点的更新。

的默认值——binlog-format选项是混合

必须在参与群集的所有MySQL Replication Server中唯一地识别用于复制的每个MySQL服务器(您不能在源和副本中共享相同ID的源和副本集群上的复制服务器)。这可以通过使用每个SQL节点使用时--server-id =ID选项,ID是唯一的整数。虽然这不是严格必要的,但是为了讨论的目的,我们假设所有的NDB Cluster二进制文件都是相同的发布版本。

在MySQL复制中,两个MySQL服务器(mysqld.所涉及的进程)必须在所使用的复制协议版本和所支持的SQL特性集(参见第17.4.2节,“MySQL版本间的复制兼容性”)。由于NDB集群和MySQL Server 5.6发行版中的二进制文件之间的这种差异,NDB集群复制对两者都有额外的要求mysqld.二进制文件来自于NDB Cluster发行版。最简单的方法来保证mysqld.服务器是兼容的是使用相同的NDB集群分布的所有源和副本mysqld.二进制文件。

我们假设复制服务器或集群专用于源集群的复制,并且没有其他数据存储在其上。

所有NDB.复制的表必须使用MySQL服务器和客户机创建。使用NDB API创建的表和其他数据库对象(例如,字典::不知道())对MySQL服务器是不可见的,所以不会被复制。NDB API应用程序对使用MySQL服务器创建的现有表的更新可以被复制。

请注意

可以使用基于语句的复制来复制NDB集群。但是,在这种情况下,适用以下限制:

  • 作为源代码的群集中的数据行的所有更新都必须针对单个MySQL服务器。

  • 不可能使用多个同时的MySQL复制进程来复制一个集群。

  • 只复制在SQL级别所做的更改。

这些是基于语句的复制相对于基于行的复制的其他限制;看到第17.1.2.1节,“基于行和基于行的复制的优缺点”,有关两种复制格式之间的差异的更具体信息。