首先确保MySQL版本支持GTID,推荐使用5.7及以上版本;接着在主库配置文件中启用enforce_gtid_consistency、gtid_mode等参数并重启服务;然后在从库进行类似配置,设置唯一server_id和中继日志;之后在主库创建具有复制权限的用户;最后通过mysqldump导出主库数据并导入从库,完成数据同步。

在MySQL中启用GTID(Global Transaction Identifier)复制可以简化主从复制的管理,避免因binlog位置不一致导致的问题。GTID为每个事务分配唯一标识,使故障切换和节点重建更可靠。以下是配置MySQL GTID复制的详细步骤。
GTID功能从MySQL 5.6开始引入,在MySQL 5.7和8.0中更加稳定。建议使用MySQL 5.7及以上版本进行配置。
编辑主库的my.cnf或my.ini配置文件,在[mysqld]部分添加以下参数:
示例配置:
[mysqld]重启MySQL服务使配置生效。
同样修改从库的配置文件,设置如下参数:
重启从库MySQL服务。
在主库上创建用于复制的用户:
CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';如果从库没有数据,需从主库导出当前状态:
mysqldump --all-databases --master-data=2 --single-transaction --routines --triggers --host=localhost > backup.sql将备份文件传到从库并导入:
mysql -u root -p注意:--master-data=2会在dump文件中生成CHANGE MASTER语句,包含binlog位置信息,但在GTID复制中我们不依赖它。
登录从库MySQL,执行CHANGE MASTER命令:
CHANGE MASTER TOMASTER_AUTO_POSITION = 1是关键,表示使用GTID自动定位同步位置。
运行以下命令查看从库状态:
SHOW SLAVE STATUS\G关注以下字段:
若出现错误,检查错误信息并根据提示调整配置。
在主库执行一个写操作:
CREATE DATABASE test_gtid;登录从库,检查是否同步:
SHOW DATABASES; -- 应看到 test_gtid基本上就这些。只要主从配置正确、网络通畅、账号权限无误,GTID复制就能正常运行。相比传统基于binlog文件+position的复制方式,GTID更易维护,尤其适合高可用架构中的主从切换场景。
以上就是mysql中如何启用GTID复制_mysql GTID复制配置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号