• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 设置复制从站

    以下各节描述了如何设置从站。在继续之前,请确保您具有:

    • 使用必要的配置属性配置了MySQL主数据库。请参见“设置要复制的主数据库的配置”。
    • 获取主服务器状态信息,或在关闭数据快照时制作的主服务器二进制日志索引文件的副本。请参见“获取复制主二进制日志坐标”。
    • 在主服务器上,释放读取锁定:

      mysql> UNLOCK TABLES;
      
    • 在从属服务器上,编辑MySQL配置。

    下一步取决于您是否有要导入到从站的现有数据。有关更多信息,请参见“选择数据快照的方法”。选择以下选项之一:

    • 如果没有要导入的数据库快照,请参见“使用新的主服务器和从服务器设置复制”。
    • 如果您有要导入的数据库的快照,请参见“使用现有数据设置复制”。

    使用新的主服务器和从服务器设置复制

    如果没有要导入的先前数据库的快照,请配置从属服务器以从新的主服务器开始复制。

    在主服务器和新从服务器之间设置复制:

    1. 启动MySQL从站。
    2. 执行一条CHANGE MASTER TO语句以设置主复制服务器配置。请参见“在从站上设置主配置”。

    在每个从站上执行这些从站设置步骤。

    如果要设置新服务器,但已有要从另一台服务器上装载的数据库的现有转储,并且要加载到复制配置中,则也可以使用此方法。通过将数据加载到新的主数据库中,数据将自动复制到从数据库中。

    如果要使用来自其他现有数据库服务器的数据来建立新的复制环境来创建新的主数据库,请在新的主数据库上运行从该服务器生成的转储文件。数据库更新将自动传播到从属服务器:

    shell>mysql -h master < fulldb.dump
    

    17.1.2.6.2使用现有数据设置复制

    使用现有数据设置复制时,请在开始复制之前将快照从主数据库传输到从数据库。将数据导入到从属服务器的过程取决于您如何在主服务器上创建数据快照。

    选择以下选项之一:

    如果您使用mysqldump

    1. 使用该--skip-slave-start选项启动从属服务器,以使复制不会开始。
    2. 导入转储文件:

      shell>mysql < fulldb.dump
      

    如果使用原始数据文件创建了快照:

    1. 将数据文件提取到您的从属数据目录中。例如:

      shell>tar xvf dbdump.tar
      

      您可能需要在文件上设置权限和所有权,以便从属服务器可以访问和修改它们。

    2. 使用该--skip-slave-start选项启动从属服务器,以使复制不会开始。
    3. 从站配置从站的复制坐标。这告诉从服务器二进制日志文件和文件在其中需要开始复制的位置。另外,使用从属主机的登录凭据和主机名配置从属服务器。有关CHANGE MASTER TO所需语句的更多信息,请参见“在从站上设置主配置”。
    4. 启动从属线程:

      mysql> START SLAVE;
      

    执行此过程之后,从属服务器将连接到主服务器,并复制自拍摄快照以来在主服务器上发生的所有更新。如果从站由于任何原因无法复制,则会将错误消息发布到从站的错误日志。

    从站使用记录在其主站信息日志和中继日志信息日志中的信息来跟踪已处理了多少个主站的二进制日志。从MySQL 8.0,默认情况下,这些奴隶状态日志存储库是命名表slave_master_info,并slave_relay_log_infomysql数据库中。现在不建议使用备用设置master_info_repository=FILErelay_log_info_repository=FILE(其中存储库是名为的文件master.info并且relay-log.info位于数据目录中),并且在以后的版本中将将其删除。

    不要删除或修改这些表(或文件,如果使用的话),除非你知道自己在做什么并完全理解的含义。即使在这种情况下,最好还是使用该CHANGE MASTER TO语句更改复制参数。从站使用语句中指定的值来自动更新从站状态日志。有关更多信息,请参见“复制中继和状态日志”。

    注意

    主信息日志的内容将覆盖命令行或中指定的某些服务器选项my.cnf。有关更多详细信息,请参见“复制和二进制日志记录选项和变量”。

    主服务器的单个快照足以满足多个从服务器的需求。要设置其他从属服务器,请使用相同的主快照并遵循上述过程的从属部分。