實(shí)現(xiàn)結(jié)構(gòu):
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的叢臺(tái)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!前提條件,這是全新的安裝mysql服務(wù)器,已經(jīng)在運(yùn)行的mysql需要先做備件,并還原到另外的機(jī)子上。
master A:192.168.168.128
master B:192.168.168.129
slave 192.168.168.130
在三臺(tái)機(jī)子上分別安裝mysql
[root@yaho ~]# yum install -y mysql mysql-server mysql-dev
修改master A和master B還有slave的配置文件。
[root@yaho ~]#vim /etc/my.cnf
master A: 在[mysqld]內(nèi)添加(修改)
server-id = 128
log-bin = mysql-bin
sync-binlog = 1
auto_increment_offset = 1 #起始值
auto_increment_increment = 2 #步長(zhǎng)
slave-skip-errors=1007,1008 #跳過無(wú)法創(chuàng)建數(shù)據(jù)庫(kù)錯(cuò)誤和無(wú)法刪除數(shù)據(jù)庫(kù)錯(cuò)誤,如果所有mysql的數(shù)據(jù)庫(kù)都一樣,可以不加
# slave-skip-errors=all #跳過所有錯(cuò)誤,其實(shí)這個(gè)參數(shù)挺危險(xiǎn)的,很容易造成幾臺(tái)mysql數(shù)據(jù)不一致
log-slave-updates #寫入從master復(fù)制操作的記錄到本地bin-log日志,以實(shí)現(xiàn)slave的完整同步(備份)
master B: 在[mysqld]內(nèi)添加(修改)
server-id = 129
log-bin = mysql-bin
sync-binlog = 1
auto_increment_offset = 2 #起始值
auto_increment_increment = 2 #步長(zhǎng)
slave-skip-errors=1007,1008 #跳過無(wú)法創(chuàng)建數(shù)據(jù)庫(kù)錯(cuò)誤和無(wú)法刪除數(shù)據(jù)庫(kù)錯(cuò)誤,如果所有mysql的數(shù)據(jù)庫(kù)都一樣,可以不加
# slave-skip-errors=all #跳過所有錯(cuò)誤,其實(shí)這個(gè)參數(shù)挺危險(xiǎn)的,很容易造成幾臺(tái)mysql數(shù)據(jù)不一致
log-slave-updates #寫入從master復(fù)制操作的記錄到本地bin-log日志,以實(shí)現(xiàn)slave的完整同步(備份)
slave: 在[mysqld]內(nèi)添加(修改)
server-id = 130
slave-skip-errors=1007,1008 #跳過無(wú)法創(chuàng)建數(shù)據(jù)庫(kù)錯(cuò)誤和無(wú)法刪除數(shù)據(jù)庫(kù)錯(cuò)誤,如果所有mysql的數(shù)據(jù)庫(kù)都一樣,可以不加
# slave-skip-errors=all #跳過所有錯(cuò)誤,其實(shí)這個(gè)參數(shù)挺危險(xiǎn)的,很容易造成幾臺(tái)mysql數(shù)據(jù)不一致
log-slave-updates #寫入從master復(fù)制操作的記錄到本地bin-log日志,以實(shí)現(xiàn)slave的完整同步(備份)
3.分別啟動(dòng)3臺(tái)master的mysql,建立同步用戶,并給IP授權(quán),允許遠(yuǎn)程訪問。
[root@yaho ~]#service mysqld start
master A:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.2168.129' identified by '123456'; #給master B 授權(quán)
master B:
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.168.128' identified by '123456'; #給master A授權(quán)
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.168.130' identified by '123456'; #給slave授權(quán)
4.查看master A 和master 的maste 狀態(tài)信息:
mysql>show master status;
+------------------+----------+
| File | Position |
+------------------+----------+
| mysql-bin.000001 | 106 |
+------------------+----------+
5.連接master,實(shí)現(xiàn)主-主-從
master A:
mysql>change master to master_host='192.168.168.129',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;
master B:
mysql>change master to master_host='192.168.168.128',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;
slave:
mysql>change master to master_host='192.168.168.129',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;
6.分別在三臺(tái)機(jī)子上啟動(dòng)slave功能:
mysql>start slave;
mysql>show slave status\G;
如果下面兩項(xiàng)都為YES,意味著成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
測(cè)試--略:
只需要在隨便在哪個(gè)master創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),然后show一下,如果另外兩個(gè)mysql都有這個(gè)數(shù)據(jù)庫(kù),則意味成功。
注意:如果mysqld啟動(dòng)不起來,可以先注釋 log-slave-updates 這行,當(dāng)主從建立起來后再去掉注釋。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。