NDB Cluster支持异步复制,更通常简称为“复制”。本节说明如何设置和管理配置,在该配置中,作为NDB群集运行的一组计算机将复制到另一台计算机或一组计算机。我们假定读者对标准MySQL复制有一定的了解,如本手册其他部分所述。(请参见复制)。
注意NDB群集不支持使用GTID复制。
NDB
存储引擎也不支持半同步复制。
正常(非群集)复制涉及“主”服务器和“从”服务器,主服务器是要复制的操作和数据的源,从服务器是这些服务器的接收者。在NDB群集中,复制在概念上非常相似,但实际上可能会更复杂,因为它可能会扩展为涵盖许多不同的配置,包括在两个完整群集之间进行复制。尽管NDB群集本身依赖于NDB
存储引擎来实现群集功能,但没有必要将其NDB
用作复制表的从属副本的存储引擎(请参阅从NDB复制到其他存储引擎))。但是,为了获得最大的可用性,可以(最好)从一个NDB群集复制到另一个NDB群集,我们讨论的就是这种情况,如下图所示:
NDB群集到群集复制布局
在这种情况下,复制过程是一个过程,在该过程中,将记录主群集的连续状态并将其保存到从属群集。该过程由称为NDB二进制日志注入器线程的特殊线程完成,该线程在每个MySQL服务器上运行并生成二进制日志(binlog
)。该线程确保群集中产生二进制日志的所有更改(而不仅仅是通过MySQL Server影响的那些更改)都以正确的序列化顺序插入二进制日志中。我们将MySQL复制主服务器和复制从服务器称为复制服务器或复制节点,并将它们之间的数据流或通信线路称为复制通道。
有关使用NDB群集和NDB群集复制执行时间点恢复的信息,请参见“使用NDB群集复制进行时间点恢复”。
NDB API _slave状态变量。 NDB API计数器可以在NDB群集复制从属服务器上提供增强的监视功能。它们被实现为NDB统计_slave
状态变量,如在与NDB群集复制中充当从属的MySQL服务器连接的mysql客户端会话SHOW STATUS
中的Performance Schema session_status
或global_status
表的输出或查询结果中所示。通过比较影响复制的语句执行前后这些状态变量的值NDB
表中,您可以观察到从服务器在NDB API级别上采取的相应操作,这在监视或故障排除NDB群集复制时很有用。“ NDB API统计信息计数器和变量”提供了更多信息。
从NDB复制到非NDB表。是可能的复制NDB
从NDB簇充当主使用其它MySQL存储引擎,如表的表InnoDB
或MyISAM
上的从mysqld的。这受许多条件的约束;有关更多信息,请参阅从NDB复制到其他存储引擎,以及从NDB复制到非事务存储引擎。