MySqL的主--主复制

     在上篇博文中介绍了MySqL的主--从复制过程。对于MySqL的主从复制,从服务器是不能有写操作的,这样从服务器的利用率就不高了,为了使其提高利用率,下来介绍MySqL的主—主复制过程。
     从MySqL的主从复制过程可以知道要先在主服务器上的创建一个用户,为从服务器与主服务器用的,所以要在两个服务器上分别创建一个用户。
1、在两台服务器上各自建立一个具有复制权限的用户;
InBlock.gifmaster: mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO slave@'172.16.%.%' IDENTIFIED BY '123456';
InBlock.gifslave: mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO master@'172.16.%.%' IDENTIFIED BY '123456';

2、修改配置文件;

在主服务器上修改如下所示的内容:

InBlock.gif[mysqld]
InBlock.gifserver-id = 10
InBlock.giflog-bin = mysql-bin
InBlock.gifreplicate- do-db = magedu
InBlock.gifauto-increment-increment = 2
InBlock.gifauto-increment-offset = 1

在从服务器上

InBlock.gif[mysqld]
InBlock.gifserver-id = 20
InBlock.giflog-bin =mysql-bin
InBlock.gifreplicate- do-db = magedu
InBlock.gifauto-increment-increment = 2
InBlock.gifauto-increment-offset = 2

3、假定此时两台服务器均为新建立,且无其它写入操作,各服务器只需记录当前自己二进制日志文件及事件位置,以之作为另外的服务器复制起始位置即可
如下所示的内容:

InBlock.gifmaster: mysql>SHOW MASTER STATUS\G
InBlock.gif***********************1.row***********************
InBlock.gifFile: mysq-bin.000001
InBlock.gifPosition: 710
InBlock.gifBinlog_Do_DB:
InBlock.gifBinglo_Ignore_DB:
InBlock.gif1 row in set (0.00 sec)
InBlock.gif
InBlock.gif
InBlock.gifmaster: mysql>SHOW MASTER STATUS\G
InBlock.gifFile:mysql-bin.000003
InBlock.gif
InBlock.gifPosition: 811

4、各服务器接下来指定另一台服务器为自己的主服务器即可:

InBlock.gifmaster: 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
InBlock.gif
InBlock.gifslave: 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

这样主主复制就完成了。下面要做的就是测试了。