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

21.6.5准备用于复制的NDB集群

准备用于复制的NDB集群包括以下步骤:

  1. 检查所有MySQL服务器的版本兼容性(参见第21.6.2节,“NDB集群复制的一般要求”)。

  2. 使用以下两条SQL语句在源集群上创建具有适当权限的复制帐户:

    mysql.S.创建用户replica_user.“@”replica_host' -> identified by 'replica_password”;mysql.S.grant replication slave on *。* ->到'replica_user.“@”replica_host”;

    在前一个陈述中,replica_user.是复制帐户的用户名,replica_host副本的主机名或IP地址,以及replica_password分配给此帐户的密码。

    例如,创建具有该名称的复制用户帐户myreplica,从名为的主机登录replica-host,并使用密码53 cr37,使用以下方法创建用户授予陈述:

    mysql.S.>创建用户'myreplica'@'replica-host' - >由'53cr37'标识;mysql.S.grant replication slave on *。* ->到'myreplica“@”replica-host'

    出于安全原因,最好为复制帐户使用唯一的用户帐户(不用于任何其他目的)。

  3. 设置副本以使用源。使用mysql.客户端,这可以通过以下方式完成改变主声明:

    mysql.R.>修改master为-> master_host ='source_host”,——> MASTER_PORT =source_port., - > master_user ='replica_user.”,——> MASTER_PASSWORD = 'replica_password”;

    在前一个陈述中,source_host为复制源的主机名或IP地址,source_port.是副本连接到源时使用的端口,replica_user.是否为源上的副本设置了用户名replica_password是在上一步中为该用户帐户设置的密码。

    例如,要告诉副本,请使用主机名的MySQL服务器rep-source对于在上一步中创建的复制帐户,使用以下语句:

    mysql.R.在>中修改MASTER到-> MASTER_HOST='rep-source', -> MASTER_PORT=3306, -> MASTER_USER='myreplica', -> MASTER_PASSWORD='53cr37';

    有关可与此语句一起使用的完整选项列表,请参阅第13.4.2.1节,“CHANGE MASTER TO Statement”

    要提供复制备份能力,还需要添加——ndb-connectstring选项的副本my.cnf在开始复制过程之前文件。看第21.6.9节“NDB群集备份与NDB群集复制”的细节。

    对于可以设置的其他选项my.cnf对于副本,看第16.1.6节“复制和二进制记录选项和变量”

  4. 如果源集群已经在使用中,则可以创建源的备份并将其加载到副本中,以减少副本与源同步所需的时间。如果副本也在运行NDB Cluster,则可以使用中描述的备份和恢复过程来完成第21.6.9节“NDB群集备份与NDB群集复制”

    ndb-connectstring =management_host[:港口]

    如果你是在副本上使用NDB Cluster,你可以使用这个命令在源上创建一个备份:

    S.>, mysqldump——主数据= 1

    然后通过将转储文件复制到该副本,将生成的数据转储导入到该副本。在此之后,您可以使用mysql.客户端将DumpFile导入数据到副本数据库,如此所示,其中dump_file生成的文件的名称是否使用,mysqldump在来源,和db_name要复制的数据库的名称:

    R.> mysql -u root -pdb_name<dump_file

    获取要使用的选项的完整列表,mysqldump, 看第4.5.4节," mysqldump -一个数据库备份程序"

    笔记

    如果以这种方式将数据复制到副本,则应确保该副本以——skip-slave-start选项,否则包括skip-slave-start副本的my.cnf文件以使其无法尝试连接到源,以便在加载所有数据之前开始复制。数据加载已完成后,请按照下两个部分中概述的附加步骤操作。

  5. 确保使用作为复制源的每个MySQL服务器分配唯一的服务器ID,并使用基于行的格式启用二进制日志记录。(看第16.2.1节,“复制格式”)。此外,我们建议启用slave_allow_batching.系统变量,并可能增加与——ndb-batch-size--ndb-blob-write-batch-bytes选项。所有这些选项都可以在源服务器中设置my.cnf在启动源时,文件或命令行上的文件mysqld.的过程。看第21.6.6节“启动NDB群集复制(单复制频道)”, 想要查询更多的信息。