Menu Close

3.6. 复制 MySQL

MySQL 为复制提供各种配置选项,范围从基本到高级。这部分论述了使用全局事务标识符(GTID)在新安装的 MySQL 上复制 MySQL 的事务方式。使用 GTID 简化了事务识别和一致性验证。

要在 MySQL 中设置复制,您必须:

重要

如果要使用现有的 MySQL 服务器进行复制,您必须首先同步数据。如需更多信息,请参阅 上游文档

3.6.1. 配置 MySQL 源服务器

这部分描述了 MySQL 源服务器正确运行并复制数据库服务器上所做的所有更改所需的配置选项。

先决条件

  • 源服务器已安装。

流程

  1. 包括 /etc/my.cnf.d/mysql-server.cnf 文件中 [mysqld] 部分下的以下选项:

    • bind-address=source_ip_adress

      从副本到源的连接需要这个选项。

    • server-id=id

      id 必须是唯一的。

    • log_bin=path_to_source_server_log

      此选项定义 MySQL 源服务器的二进制日志文件的路径。例如:log_bin=/var/log/mysql/mysql-bin.log

    • gtid_mode=ON

      此选项在服务器上启用全局事务标识符(GTID)。

    • enforce-gtid-consistency=ON

      服务器通过仅允许执行可使用 GTID 进行安全记录的语句来强制实施 GTID 一致性。

    • 可选: binlog_do_db=db_name

      如果您只想复制所选的数据库,则使用这个选项。要复制多个所选的数据库,请分别指定每个数据库:

      binlog_do_db=db_name1
      binlog_do_db=db_name2
      binlog_do_db=db_name3
    • 可选: binlog_ignore_db=db_name

      使用此选项从复制中排除特定的数据库。

  2. 重启 mysqld 服务:

    # systemctl restart mysqld.service