通过配置MySQL双节点环形复制,设置唯一server-id、开启GTID与binlog,并调整auto-increment-offset避免主键冲突;2. 在各节点创建复制用户并授权;3. 使用CHANGE MASTER TO建立双向复制通道并启动同步;4. 检查Slave_IO_Running和Slave_SQL_Running状态确保复制正常;5. 注意避免并发写入同一数据、谨慎执行DDL操作,防止冲突导致复制中断。

MySQL多主复制(Multi-Master Replication)可以让多个数据库节点互相作为主库,实现双向或环形数据同步。这种架构适合需要高可用、读写分离和跨地域部署的场景。下面介绍基于MySQL原生复制的环形多主搭建方法(以两个节点为例),不依赖第三方中间件。
确保两台服务器已安装MySQL(建议版本一致,如MySQL 8.0),并能通过网络互通。例如:
每台MySQL需开启二进制日志(binlog)、指定唯一server-id,并启用中继日志和GTID(推荐)。修改my.cnf配置文件:
Node A 配置片段:
[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
gtid-mode = ON
enforce-gtid-consistency = ON
log-slave-updates = ON
relay-log = relay-log
auto-increment-increment = 2
auto-increment-offset = 1
Node B 配置片段:
[mysqld]
server-id = 2
log-bin = mysql-bin
binlog-format = ROW
gtid-mode = ON
enforce-gtid-consistency = ON
log-slave-updates = ON
relay-log = relay-log
auto-increment-increment = 2
auto-increment-offset = 2
说明: auto-increment设置是为了避免自增主键冲突。Node A生成奇数(1,3,5...),Node B生成偶数(2,4,6...)。
在每个节点上创建用于复制的账户:
登录Node A执行:
CREATE USER 'repl'@'192.168.1.20' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.20';
FLUSH PRIVILEGES;
登录Node B执行:
CREATE USER 'repl'@'192.168.1.10' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.10';
FLUSH PRIVILEGES;
使用CHANGE MASTER TO命令建立互为主从的关系。
MyBB的全称是mybboard,是一个基于PHP+MySQL搭建,功能强大,高效的开源论坛系统。 MyBB 使用了标准的论坛结构和模式,所以您的用户可以在您的论坛获得良好的用户体验。用户可以通过用户控制面板来自定义他们访问论坛的方式或者自定义他们想看到的论坛的内容,他们还可以方便地发表和答复一个主题并且标记与他们有关的主题。论坛管理员和版主可以使用MyBB的内置编辑器和版主工具等功能,控制并维
95
在Node A上执行,指向Node B:
CHANGE MASTER TO
MASTER_HOST='192.168.1.20',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1
FOR CHANNEL 'master-B';
在Node B上执行,指向Node A:
CHANGE MASTER TO
MASTER_HOST='192.168.1.10',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1
FOR CHANNEL 'master-A';
启动复制:
START SLAVE FOR CHANNEL 'master-B'; (Node A执行)
START SLAVE FOR CHANNEL 'master-A'; (Node B执行)
查看复制是否正常运行:
SHOW SLAVE STATUS FOR CHANNEL 'master-B'\G (Node A)
SHOW SLAVE STATUS FOR CHANNEL 'master-A'\G (Node B)
重点关注以下字段:
多主复制虽然提升了可用性,但存在一些风险和限制:
生产环境可考虑使用MHA、PXC(Percona XtraDB Cluster)或MySQL InnoDB Cluster来提升稳定性和自动化能力。
基本上就这些。按步骤操作,确保配置准确,多主复制可以稳定运行。关键是预防主键冲突和避免并发写入同一数据。
以上就是mysql如何搭建多主复制_mysql多主复制搭建方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号