10bet网址
MySQL集群管理器1.3用户手册
相关的文档10bet官方网站 本手册下载

MySQL集群管理器1.3用户手册/使用MySQL Cluster ManagerMySQL集群管理器设置MySQL集群复制

3.8使用MySQL集群管理器设置MySQL集群复制

本节提供使用MySQL集群管理器设置带有单个复制通道的MySQL集群复制的示例步骤。

在尝试以下步骤之前,建议您先阅读NDB集群复制熟悉MySQL集群复制的概念、需求、操作和限制。

  1. 创建并启动源集群:

    MCM > create site——hosts=tonfisk msite;

    ——basedir=/usr/local/cluster- mgmt /cluster-7.3.2;

    mcm> create cluster -P 7.3.2 -R \ ndb_mgmd@tonfisk,ndbmtd@tonfisk,ndbmtd@tonfisk,mysqld@tonfisk,mysqld@tonfisk,ndbapi@*,ndbapi@* \ source;

    MCM > set portnumber:ndb_mgmd=4000 source;

    MCM > set port:mysqld:51=3307 source;

    MCM > set port:mysqld:50=3306 source;

    mcm> set server_id:mysqld:50 = 100个源;

    MCM > set log_bin:mysqld:50=binlog source;

    mcm> set binlog_format:mysqld:50=ROW source;

    MCM > set ndb_connectstring:mysqld:50=tonfisk:4000 source;

    MCM>启动群集源;

  2. 创建并启动副本群集(我们从创建一个名为的新站点ssite只是为了复制集群;你也可以跳过它,把源集群和复制集群主机放在同一个站点下):

    MCM>创建网站 -  HOSTS = FLUNDRA SSITE;

    ——basedir=/usr/local/cluster- mgmt /cluster-7.3.2;

    mcm> create cluster -P 7.3.2 -R \ ndb_mgmd@flundra,ndbmtd@flundra,ndbmtd@flundra,mysqld@flundra,mysqld@flundra,ndbapi@*,ndbapi@* \ replica;

    set portnumber:ndb_mgmd=4000 replica;

    MCM > set port:mysqld:50=3306 replica;

    MCM > set port:mysqld:51=3307 replica;

    MCM > set server_id:mysqld:50=101 replica;

    MCM > set ndb_connectstring:mysqld:50=flundra:4000 replica;

    MCM > set slave_skip_errors:mysqld=all replica;

    MCM >启动集群副本

  3. 创建一个副本帐户(使用用户名myreplica和密码mypw),通过登录到源复制客户端(mysql),并发表以下声明:

    mysqlgrant replication slave on *。* TO 'myreplica'@'flundra' -> IDENTIFIED BY 'mypw';

  4. 登录到副本集群客户端(mysql年代),并发表以下声明:

    mysql年代>更改大师到 - > master_host ='tonfisk', - > master_port = 3306, - > master_user ='myreplica', - > master_password ='mypw';

  5. 使用复制集群客户端发出以下语句来启动复制:

    mysql年代>开始的奴隶;

上面的示例假设源集群和副本集群几乎是同时创建的,在复制启动之前两者都没有数据。如果在创建salve集群时,源集群已经运行并且有数据,在执行上述步骤3后,按照以下步骤将数据从源集群转移到复制集群,并准备复制集群进行复制:

  1. 使用备份集群MySQL集群管理器命令:

    MCM >备份集群源;

    请注意

    仅有的NDB表由命令备份;使用其他MySQL存储引擎的表将被忽略。

  2. 通过列出源集群的所有备份来查找刚才所做备份的备份ID:

    MCM >列表备份源;+----------+--------+---------+---------------------+---------+ | BackupId | NodeId |评论| |主机时间戳  | +----------+--------+---------+---------------------+---------+ | 1 | 1 | tonfisk | 2014-10-17 20:03:23 | | | 1 | 2 | tonfisk | 2014-10-17 20:03:23 | | | 2 | 1 | tonfisk | 2014-10-17 20:09:00 | | | 2 | 2 | tonfisk | 2014-10-17 20:09:00||+----------+--------+---------+---------------------+---------+

    从输出中可以看到,您创建的最新备份具有备份ID2,节点存在备份数据12

  3. 使用备份ID和相关节点ID,标识刚刚创建的备份文件/ / mcm_data /集群cluster_name/node_id/数据/备份/备份 -backup_id/在源集群的安装目录中(在本例中,在/ mcm_data /集群/ / 1 /数据/备份/ BACKUP-2来源/ mcm_data /集群/ / 2 /数据/备份/ BACKUP-2来源),并将它们复制到复制集群的等效位置(在本例中,/ mcm_data /集群/ / 1 /数据/备份/ BACKUP-2复制品/ mcm_data /集群/ / 2 /数据/备份/ BACKUP-2复制品在复制集群的安装目录下)。复制完成后,使用以下命令检查备份现在对复制集群可用:

    MCM >列表备份副本;+----------+--------+---------+---------------------+---------+ | BackupId | NodeId |评论| |主机时间戳  | +----------+--------+---------+---------------------+---------+ | 2 | 1 | flundra | 2014-10-17 21:19:00 | | | 2 | 2 | flundra | 2014-10-17 21:19:00  | | +----------+--------+---------+---------------------+---------+

  4. 将备份的数据恢复到复制集群(注意,您需要一个未使用的ndbapi槽的恢复集群命令工作):

    MCM>恢复群集 -  Backupid = 2副本;

  5. 在源集群客户端上,使用以下命令识别正确的二进制日志文件和启动复制的位置:

    mysql> show master status \ g;*************************** 1。行  *************************** 文件:binlog.000017位置:2857 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set:

  6. 在复制集群客户端上,向复制集群提供源集群的信息,包括二进制日志文件名(带有MASTER_LOG_FILE选项)和位置(与MASTER_LOG_POS选项)你刚刚在上面的步骤5中发现:

    mysql年代>修改MASTER为-> MASTER_HOST='tonfisk', -> MASTER_PORT=3306, -> MASTER_USER='myreplica', -> MASTER_PASSWORD='mypw', -> MASTER_LOG_FILE='binlog '。000017年,> MASTER_LOG_POS = 2857;

  7. 使用复制集群客户端发出以下语句来启动复制:

    mysql年代>开始的奴隶;

作为这些步骤的替代方法,您也可以按照中描述的步骤操作NDB集群备份与NDB集群复制将数据从源复制到副本,并指定启动复制的二进制日志文件和位置。