新聞中心
實現結構:
前提條件,這是全新的安裝mysql服務器,已經在運行的mysql需要先做備件,并還原到另外的機子上。
master A:192.168.168.128
master B:192.168.168.129
slave 192.168.168.130
在三臺機子上分別安裝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]內添加(修改)
server-id = 128
log-bin = mysql-bin
sync-binlog = 1
auto_increment_offset = 1 #起始值
auto_increment_increment = 2 #步長
slave-skip-errors=1007,1008 #跳過無法創(chuàng)建數據庫錯誤和無法刪除數據庫錯誤,如果所有mysql的數據庫都一樣,可以不加
# slave-skip-errors=all #跳過所有錯誤,其實這個參數挺危險的,很容易造成幾臺mysql數據不一致
log-slave-updates #寫入從master復制操作的記錄到本地bin-log日志,以實現slave的完整同步(備份)
master B: 在[mysqld]內添加(修改)
server-id = 129
log-bin = mysql-bin
sync-binlog = 1
auto_increment_offset = 2 #起始值
auto_increment_increment = 2 #步長
slave-skip-errors=1007,1008 #跳過無法創(chuàng)建數據庫錯誤和無法刪除數據庫錯誤,如果所有mysql的數據庫都一樣,可以不加
# slave-skip-errors=all #跳過所有錯誤,其實這個參數挺危險的,很容易造成幾臺mysql數據不一致
log-slave-updates #寫入從master復制操作的記錄到本地bin-log日志,以實現slave的完整同步(備份)
slave: 在[mysqld]內添加(修改)
server-id = 130
slave-skip-errors=1007,1008 #跳過無法創(chuàng)建數據庫錯誤和無法刪除數據庫錯誤,如果所有mysql的數據庫都一樣,可以不加
# slave-skip-errors=all #跳過所有錯誤,其實這個參數挺危險的,很容易造成幾臺mysql數據不一致
log-slave-updates #寫入從master復制操作的記錄到本地bin-log日志,以實現slave的完整同步(備份)
3.分別啟動3臺master的mysql,建立同步用戶,并給IP授權,允許遠程訪問。
[root@yaho ~]#service mysqld start
master A:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.2168.129' identified by '123456'; #給master B 授權
master B:
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.168.128' identified by '123456'; #給master A授權
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.168.130' identified by '123456'; #給slave授權
4.查看master A 和master 的maste 狀態(tài)信息:
mysql>show master status;
+------------------+----------+
| File | Position |
+------------------+----------+
| mysql-bin.000001 | 106 |
+------------------+----------+
5.連接master,實現主-主-從
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.分別在三臺機子上啟動slave功能:
mysql>start slave;
mysql>show slave status\G;
如果下面兩項都為YES,意味著成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
測試--略:
只需要在隨便在哪個master創(chuàng)建一個數據庫,然后show一下,如果另外兩個mysql都有這個數據庫,則意味成功。
注意:如果mysqld啟動不起來,可以先注釋 log-slave-updates 這行,當主從建立起來后再去掉注釋。
另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前名稱:mysqlmaster-master-slave實驗-創(chuàng)新互聯
本文鏈接:http://www.ef60e0e.cn/article/cshsjs.html