Mysql主主復制架構配置

MySQL主主復制結構區別於主從復制結構。在主主復制結構中,兩臺服務器的任
何一臺上面的數據庫存發生瞭改變都會同步到另一臺服務器上,這樣兩臺服務器
互為主從,並且都能向外提供服務。 這就比使用主從復制具有更好的性能。
接下來我將使用兩個同樣的服務器來實現這個效果:
具體Mysql的安裝我就省略瞭,在上一篇的Mysql的主從架構的配置中有詳細介紹
server1_mysql:192.168.1.108
server2_mysql: 192.168.1.110
拓撲結構:
server1_mysql——-server2_mysql

1.創建用戶並授權
server1:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'server2'@'192.168.1.110'
IDENTIFIED BY 'server2';
server2:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'server1'@'192.168.1.108'
IDENTIFIED BY 'server1';

2.修改Mysql的主配置文件
server1:
 [mysqld]
 server-id = 10
 log-bin = mysql-bin
 replicate-do-db = mydb
 auto-increment-increment = 2   //每次增長2
 auto-increment-offset = 1  //設置自動增長的字段的偏移量,即初始值為2
啟動Mysql服務:
# service mysqld restart
server2:
 [mysqld]
 server-id = 20
 log-bin = mysql-bin
 replicate-do-db = mydb
 auto-increment-increment = 2  //每次增長2
 auto-increment-offset = 2 //設置自動增長的字段的偏移量,即初始值為2
啟動Mysql服務:
# service mysqld restart
註:二都隻有server-id不同和 auto-increment- offset不同
auto-increment-increment的值應設為整個結構中服務器的總數,本案例用到兩
臺服務器,所以值設為2。
3.重新啟動兩個服務器
# service mysqld restart
4.為瞭讓兩個數據庫一樣,我們備份其中一個數據庫,然後在另一個數據庫上恢
復,這樣是兩個數據庫一開始都是一樣的。
在server1上操作:
# mysqldump –databases luowei > /tmp/luowei.sql
在server2上操作:
創建一個與mydb同名的空數據庫
# mysql
    > CREATE DATABASE mydb;
    >\q
# scp 192.168.1.108:/tmp/mydb.sql  ./
# mysql -uroot -p mydb < /tmp/luowei.sql
5.然後兩個服務器相互通告二進制日志的位置並啟動復制功能:
在server1上:
# mysql
   > CHANGE MASTER TO
   > MASTER_HOST='192.168.1.110',
   > MASTER_USER='server2',
   > MASTER_PASSWORD='server2';
mysql > START SLAVE;
在server2上:
# mysql
   > CHANGE MASTER TO
   > MASTER_HOST='192.168.1.108',
   > MASTER_USER='server1',
   > MASTER_PASSWORD='server1';
mysql > START SLAVE;
6.查看,並驗證:
分別在兩個數據庫服務器上查看
mysql > START SLAVE;
然後查看數據庫和表,你會發現內容是一樣的,這樣就是整個主主Mysql的架構
的配置過程。
 
 
 
 
作者“IT夢-齊-分享”

發佈留言