本文共 1334 字,大约阅读时间需要 4 分钟。
在上一篇文章中,我们介绍了 MySqL 的主从复制过程。在主从复制中,主服务器负责数据写入和复制,而从服务器仅负责接收和应用数据写入。为了提高从服务器的利用率,MySqL 提供了主主复制功能,这种方式可以在双主服务器之间进行数据同步。
在两台服务器上,包括主服务器和从服务器,需要创建一个用于复制的用户。该用户需要具有足够的权限来执行复制操作。
mysql> GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO slave@'172.16.%' IDENTIFIED BY '123456';mysql> GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO master@'172.16.%' IDENTIFIED BY '123456';
在主服务器上,修改 my.cnf
文件,启用二进制日志并配置复制相关参数。
[mysqld]server-id = 10log-bin = mysql-binreplicate-do-db = mageduauto-increment-increment = 2auto-increment-offset = 1
在从服务器上,修改 my.cnf
文件,同样启用二进制日志并配置复制参数。
[mysqld]server-id = 20log-bin = mysql-binreplicate-do-db = mageduauto-increment-increment = 2auto-increment-offset = 2
在两台服务器上,指定对方作为主服务器。主服务器负责接收从服务器的数据写入。
mysql> CHANGE MASTER TO MASTER_HOST='172.16.35.2', MASTER_USER='master', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=811;mysql> CHANGE MASTER TO MASTER_HOST='172.16.35.1', MASTER_USER='slave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=710;
完成配置后,需要对主主复制进行测试。可以通过执行 SHOW MASTER STATUS
查看复制进度,确保数据同步正常。
mysql> SHOW MASTER STATUS\G
通过以上步骤,可以实现 MySqL 的主主复制功能,从而在双主服务器之间实现高效的数据同步。
转载地址:http://dqbfk.baihongyu.com/