10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

MySQL 5.7参考手册/.../ 启动NDB集群复制(单复制区域通道)

21.6.6启动NDB集群复制(单复制区域通道)

介绍使用单个复制区域通道启动NDB集群复制的操作步骤。

  1. 通过发出以下命令启动MySQL复制源服务器:

    壳牌年代> mysqld——ndbcluster——server-id=id\——log-bin——ndb-log-bin &

    在前面的陈述中,id是该服务器的唯一ID(参见第21.6.2节“NDB集群复制的一般要求”).这将启动服务器的mysqld使用正确的日志格式启用二进制日志记录的处理。

    请注意

    您还可以用——binlog-format =混合在这种情况下,在集群之间复制时自动使用基于行的复制。NDB集群复制不支持基于语句的二进制日志记录(参见第21.6.2节“NDB集群复制的一般要求”).

  2. 启动MySQL副本服务器,如下所示:

    壳牌R> mysqld——ndbcluster——server-id=id

    在刚才显示的命令中,id是副本服务器的唯一ID。没有必要在副本上启用日志记录。

    请注意

    你应该使用——skip-slave-start选项,否则应该包含skip-slave-start在副本服务器的my.cnf文件,除非您想立即开始复制。使用此选项,复制的开始将被延迟到适当的时间开始的奴隶声明已经发出,如下面的步骤4所述。

  3. 需要将复制服务器与源服务器的复制二进制日志同步。如果以前没有在源上运行二进制日志记录,那么在副本上运行以下语句:

    mysqlR> change master to -> master_log_file = ", -> master_log_pos =4;

    这指示副本从日志的起始点开始读取源服务器的二进制日志。否则—也就是说,如果使用备份从源加载数据—请参阅第21.6.8节“使用NDB集群复制实现故障转移”,以了解如何获取要用于的正确值MASTER_LOG_FILE而且MASTER_LOG_POS在这种情况下。

  4. 方法发出此命令,从而指示副本开始应用复制mysql副本上的客户端:

    mysqlR>开始的奴隶;

    这还启动了从源到副本的数据和更改的传输。

也可以使用两个复制通道,其方式与下一节描述的过程类似;这与使用单个复制区域通道之间的区别在于第21.6.7节“使用两个复制通道实现NDB集群复制”

还可以通过启用来提高集群复制性能批处理更新.可以通过设置slave_allow_batching副本上的系统变量mysqld流程。通常,一收到更新就应用更新。但是,使用批处理会导致每次更新应用32 KB的批;这可以导致更高的吞吐量和更少的CPU使用,特别是在单个更新相对较小的情况下。

请注意

批处理是按时期进行的;属于多个事务的更新可以作为同一批处理的一部分发送。

所有未完成的更新都是在到达一个epoch的结束时应用的,即使更新总数小于32 KB。

可以在运行时开启和关闭批处理。要在运行时激活它,你可以使用这两个语句中的任何一个:

SET GLOBAL slave_allow_batch = 1;SET GLOBAL slave_allow_batch = ON;

如果某个特定的批处理导致了问题(例如一个语句的效果没有被正确复制),可以使用以下语句之一来禁用批处理:

SET GLOBAL slave_allow_batch = 0;SET GLOBAL slave_allow_batch = OFF;

可以通过适当的方法检查当前是否正在使用批处理显示变量像这样的声明:

mysql>显示变量为slave%;+---------------------------+-------+ | Variable_name |值  | +---------------------------+-------+ | 上slave_allow_batching | | | slave_compressed_protocol了| | | slave_load_tmpdir | / tmp | | slave_net_timeout | 3600 | | slave_skip_errors了| | | slave_transaction_retries | 10  | +---------------------------+-------+ 6行集(0.00秒)