Mysql主主服務器mysql
搭建主主服務器的過程sql
因爲一些步驟同主從服務器的相同,因此我就不在作詳細說明,若有疑問請仔細看看主從服務器的搭建服務器
1、在兩臺服務器上各自創建一個具備複製權限的用戶;ide
mysql> grant replication client,replication slave on *.* to repl@'172.16.%.%' identified by 'redhat';spa
2、修改配置文件:日誌
第一個主服務器上orm
[mysqld]server
server-id = 10xml
log-bin = mysql-bin事件
auto-increment-increment = 2 因爲兩個服務器都是主服務器,均可以寫的,因此爲了解
auto-increment-offset = 1 覺插入數據時相似ID那種自動增加的形成衝突,特定義一
下,每次自動向後遞推幾個
第二個主服務器上
[mysqld]
server-id = 20
log-bin = mysql-bin
auto-increment-increment = 2
auto-increment-offset = 2
3、若是此時兩臺服務器均爲新創建,且無其它寫入操做,各服務器只需記錄當前本身二進制日誌文件及事件位置,以之做爲另外的服務器複製起始位置便可
第一個主服務器
mysql> show master status \G;
************************** 1. row ***************************
File: mysql-bin.000001
Position: 710
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
第二個主服務器
mysql> show master status \G;
*************************** 1. row ***************************
File: mysql-bin.000003
Position: 811
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
四、各服務器接下來指定對另外一臺服務器爲本身的主服務器便可:
第一個主服務器
mysql> change master to master_host='172.16.19.10',master_user='repl',master_password
='redhat',master_log_file='mysql-bin.000003',master_log_pos=811;
第二個主服務器
mysql> change master to master_host='172.16.19.9',master_user='repl',master_password
='redhat',master_log_file='mysql-bin.000001',master_log_pos=710;
五、能夠啓動服務進行查看
第一個主服務器
mysql> start slave;
mysql> show slave hosts;
+-----------+------+------+-----------+
| Server_id | Host | Port | Master_id |
+-----------+------+------+-----------+
| 20 | | 3306 | 1 |
+-----------+------+------+-----------+
第二個主服務器
mysql> start slave;
mysql> show slave hosts;
+-----------+------+------+-----------+
| Server_id | Host | Port | Master_id |
+-----------+------+------+-----------+
| 10 | | 3306 | 1 |
+-----------+------+------+-----------+
若是是對一臺已經有數據的主服務器建立主服務器的話,只須要將主服務器的數據備份一下,在要建立的主服務器上source一下,在執行第三步,查看每一個服務器的二進制日誌及事件的位置,進行第四五步操做便可。