mysql如何配置GTID复制_mysql GTID复制配置方法

2次阅读

配置mysql GTID复制需主从库启用GTID模式,设置唯一server-id,开启binlog与log-slave-updates,主库创建复制账号,从库使用MASTER_AUTO_POSITION=1自动同步,确保数据一致后启动复制并验证状态。

mysql如何配置GTID复制_mysql GTID复制配置方法

MySQL的GTID(Global Transaction Identifier)复制是一种基于事务标识符的复制方式,能够简化主从复制的管理,避免重复执行事务,提升故障切换的可靠性。配置GTID复制需要在主库和从库上进行一系列设置,以下是完整的配置方法。

启用GTID复制的前提条件

确保主从服务器使用相同版本的MySQL(建议5.7及以上),且数据一致性已同步。GTID复制要求binlog格式为ROW,并开启log_slave_updates。

  • 主从节点必须启用二进制日志(log-bin)
  • 每个实例需设置唯一的server-id
  • 建议关闭自动提交前的旧风格复制相关参数

主库配置步骤

修改主库的my.cnf配置文件,在[mysqld]段中添加以下内容:

server-id = 1 log-bin = mysql-bin binlog-format = ROW gtid-mode = ON enforce-gtid-consistency = ON

重启MySQL服务使配置生效。登录MySQL,创建用于复制的账号:

CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘password‘;

GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;

FLUSH PRIVILEGES;

查看主库状态获取GTID信息:

SHOW MASTER STATUS;

从库配置步骤

修改从库的my.cnf文件,配置如下:

server-id = 2 log-bin = mysql-bin binlog-format = ROW relay-log = relay-log gtid-mode = ON enforce-gtid-consistency = ON log-slave-updates = ON read-only = ON

重启从库MySQL服务。进入MySQL客户端,执行CHANGE MASTER命令:

CHANGE MASTER TO

  MASTER_HOST=’主库IP’,

mysql如何配置GTID复制_mysql GTID复制配置方法

Magic Write

Canva旗下AI文案生成器

mysql如何配置GTID复制_mysql GTID复制配置方法 114

查看详情 mysql如何配置GTID复制_mysql GTID复制配置方法

  MASTER_USER=’repl’,

  MASTER_PASSword=’password’,

  MASTER_PORT=3306,

  MASTER_AUTO_POSITION = 1;

注意:MASTER_AUTO_POSITION = 1 表示启用基于GTID的自动定位,无需手动指定binlog文件和位置。

启动并验证复制

启动复制线程

START SLAVE;

查看复制状态:

SHOW SLAVE STATUSG

重点关注以下字段:

  • Slave_IO_Running: Yes
  • Slave_SQL_Running: Yes
  • Retrieved_Gtid_Set:接收到的GTID集合
  • Executed_Gtid_Set:已执行的GTID集合

如果两个线程均为Yes,且无错误信息,说明GTID复制已正常运行。

基本上就这些。只要配置正确,GTID能自动处理事务一致性,主从切换时也更方便。注意备份关键数据,避免误操作影响服务。不复杂但容易忽略细节。

text=ZqhQzanResources