MySQL多源复制需在5.7+版本中配置GTID模式,主库开启二进制日志并创建复制用户,从库设置唯一server-id及TABLE格式存储复制信息,通过独立CHANNEL连接各主库,启动复制后检查运行状态与延迟,避免库名冲突并禁用从库写操作以确保数据一致。

MySQL多源复制(Multi-Source Replication)允许一个从服务器(Slave)同时从多个主服务器(Master)复制数据,常用于数据聚合、集中备份等场景。它基于GTID或传统日志位置的复制机制实现。以下是MySQL多源复制的安装与配置步骤。
确保所有服务器运行支持多源复制的MySQL版本(5.7及以上推荐使用GTID模式)。主库和从库需开启二进制日志,且每个主库有唯一server-id。
编辑每个主库的my.cnf文件,添加如下配置:
[mysqld]重启MySQL服务后,登录创建用于复制的账号:
CREATE USER 'repl'@'%' IDENTIFIED BY 'repl_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;
记录每个主库的当前GTID位置(SHOW MASTER STATUS),便于后续配置。
修改从库的my.cnf:
[mysqld]重启从库。使用TABLE方式存储复制信息是多源复制的必要条件,避免冲突。
登录从库,为每个主库分别配置复制通道:
Sylius开源电子商务平台是一个开源的 PHP 电子商务网站框架,基于 Symfony 和 Doctrine 构建,为用户量身定制解决方案。可管理任意复杂的产品和分类,每个产品可以设置不同的税率,支持多种配送方法,集成 Omnipay 在线支付。功能特点:前后端分离Sylius 带有一个强大的 REST API,可以自定义并与您选择的前端或您的微服务架构很好地配合使用。如果您是 Symfony
0
-- 配置来自Master1的复制 CHANGE MASTER TO MASTER_HOST='master1_ip', MASTER_USER='repl', MASTER_PASSWORD='repl_password', MASTER_PORT=3306, MASTER_AUTO_POSITION=1 FOR CHANNEL 'master1'; <p>-- 配置来自Master2的复制 CHANGE MASTER TO MASTER_HOST='master2_ip', MASTER_USER='repl', MASTER_PASSWORD='repl_password', MASTER_PORT=3306, MASTER_AUTO_POSITION=1 FOR CHANNEL 'master2';
每个CHANNEL名称必须唯一,代表一个独立的复制流。
启动所有通道:
START SLAVE FOR CHANNEL 'master1'; START SLAVE FOR CHANNEL 'master2';
检查各通道状态:
SHOW SLAVE STATUS FOR CHANNEL 'master1'\G SHOW SLAVE STATUS FOR CHANNEL 'master2'\G
关注Seconds_Behind_Master、Slave_IO_Running、Slave_SQL_Running等字段是否正常。
也可通过以下命令查看所有通道概览:
SELECT * FROM performance_schema.replication_connection_status\G
注意事项:
基本上就这些。只要主从配置正确,开启GTID并使用独立通道,MySQL多源复制就能稳定运行。
以上就是mysql如何配置多源复制_mysql多源复制安装与配置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号