文章目录
MySQL 主-主配置
环境
服务器 A (10.46.109.98)
服务器 B (10.46.109.99)
服务器 A (10.46.109.98)
- 编辑 MySQL 配置文件:
vim /etc/my.cnf
- 添加以下内容:
server_id=15 auto-increment-increment=2 auto-increment-offset=1
- 授予服务器 B 复制权限:
GRANT REPLICATION SLAVE ON *.* TO 'copy1'@'10.46.109.99' IDENTIFIED BY 'EV7F4!RX';
- 检查主服务器状态:
SHOW MASTER STATUS;
- 记下文件名(File)和位置(Position)的值。
服务器 B (10.46.109.99)
- 编辑 MySQL 配置文件:
vim /etc/my.cnf
- 添加以下内容:
server_id=17 auto-increment-increment=2 auto-increment-offset=2
- 授予服务器 A 复制权限:
GRANT REPLICATION SLAVE ON *.* TO 'copy2'@'10.46.109.98' IDENTIFIED BY 'EV7F4!RX';
- 检查主服务器状态:
SHOW MASTER STATUS;
- 记下文件名(File)和位置(Position)的值。
设置复制
在服务器 A 上
- 配置复制到服务器 B:
CHANGE MASTER TO MASTER_HOST='10.46.109.99', MASTER_USER='copy2', MASTER_PASSWORD='EV7F4!RX', MASTER_LOG_FILE='master-bin.000007', MASTER_LOG_POS=194, MASTER_PORT=3307;
- 启动从服务器:
START SLAVE;
- 检查从服务器状态:
SHOW SLAVE STATUS\G
在服务器 B 上
- 配置复制到服务器 A:
CHANGE MASTER TO MASTER_HOST='10.46.109.98', MASTER_USER='copy1', MASTER_PASSWORD='EV7F4!RX', MASTER_LOG_FILE='master-bin.000004', MASTER_LOG_POS=782, MASTER_PORT=3307;
- 启动从服务器:
START SLAVE;
- 检查从服务器状态:
SHOW SLAVE STATUS\G
附加维护
如果出现错误或问题
如果复制出现任何错误或问题,您可以重置从服务器:
RESET SLAVE;
日志维护
在服务器 A 上:
FLUSH LOGS;
SHOW MASTER STATUS;
记下文件名(File)和位置(Position)的值。
在服务器 B 上:
CHANGE MASTER TO MASTER_LOG_FILE='testdbbinlog.000008', MASTER_LOG_POS=107;
START SLAVE;
SHOW SLAVE STATUS\G
结论
此设置应在 MySQL 中建立了服务器 A 和服务器 B 之间的主-主复制,确保数据一致性和冗余性。请定期监控复制状态,以确保其正常运行。