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

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

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

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

启用GTID复制的前提条件

确保主从服务器使用相同版本的MySQL(建议5.7及以上),且数据一致性已同步。GTID复制要求binlog格式为ROW,并开启log_sl*e_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 SL*E 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-sl*e-updates = ON
read-only = ON

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

CHANGE MASTER TO

  MASTER_HOST='主库IP',

Sylius开源电子商务平台 Sylius开源电子商务平台

Sylius开源电子商务平台是一个开源的 PHP 电子商务网站框架,基于 Symfony 和 Doctrine 构建,为用户量身定制解决方案。可管理任意复杂的产品和分类,每个产品可以设置不同的税率,支持多种配送方法,集成 Omnipay 在线支付。功能特点:前后端分离Sylius 带有一个强大的 REST API,可以自定义并与您选择的前端或您的微服务架构很好地配合使用。如果您是 Symfony

Sylius开源电子商务平台 0 查看详情 Sylius开源电子商务平台

  MASTER_USER='repl',

  MASTER_PASSWORD='password',

  MASTER_PORT=3306,

  MASTER_AUTO_POSITION = 1;

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

启动并验证复制

启动复制线程:

START SL*E;

查看复制状态:

SHOW SL*E STATUS\G

重点关注以下字段:

  • Sl*e_IO_Running: Yes
  • Sl*e_SQL_Running: Yes
  • Retrieved_Gtid_Set:接收到的GTID集合
  • Executed_Gtid_Set:已执行的GTID集合

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

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

以上就是mysql如何配置GTID复制_mysql GTID复制配置方法的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。