mysql簡單的主從複製

來源:互聯網
上載者:User

標籤:mysql的簡單主從複製

物理機win7,虛擬機器為兩台centos7系統

實驗myslq資料庫簡單的主從複製:


主節點:192.168.255.2

從節點:192.168.255.3

使用rpm包安裝的mariadb-server


配置主節點:

]# vim /etc/my.cnf

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/82/89/wKioL1dYNKyxf3YqAAB0_9q2R_M135.png" title="1.png" alt="wKioL1dYNKyxf3YqAAB0_9q2R_M135.png" />


]# systemctl start mariadb.service

確保主節點的iptables沒有阻斷3306連接埠;

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/82/8A/wKiom1dYNdGAed5EAAAYnV1dxbU991.png" title="5.png" alt="wKiom1dYNdGAed5EAAAYnV1dxbU991.png" />


> SHOW GLOBAL VARIABLES LIKE ‘%log%‘;

確認二進位日誌啟動;

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/82/89/wKioL1dYNVTjp1BlAAB4CCCYDQE826.png" title="2.png" alt="wKioL1dYNVTjp1BlAAB4CCCYDQE826.png" />


查看server id

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/82/89/wKioL1dYNdrR5q8mAAAcRm8FHnI906.png" title="4.png" alt="wKioL1dYNdrR5q8mAAAcRm8FHnI906.png" />


建立有複製許可權的帳號:

> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘repluser‘@‘192.168.255.%‘ IDENTIFIED BY ‘replpass‘;

> FLUSH PRIVILEGES;


查看二進位日誌並記錄日誌位置:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/82/89/wKioL1dYPuHxRdgLAAAV9hjAf7U017.png" title="3.png" alt="wKioL1dYPuHxRdgLAAAV9hjAf7U017.png" />


配置從節點:

]# vim /etc/my.cnf

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/82/89/wKioL1dYN4_BFJS6AABMXMyI8FQ098.png" title="6.png" alt="wKioL1dYN4_BFJS6AABMXMyI8FQ098.png" />


查看中繼日誌開啟;

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/82/89/wKioL1dYOC6z9R82AAB__GenPsA306.png" title="7.png" alt="wKioL1dYOC6z9R82AAB__GenPsA306.png" />


查看唯一ID:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/82/8A/wKiom1dYN2ewS8vMAAAmmYlLSUQ654.png" title="8.png" alt="wKiom1dYN2ewS8vMAAAmmYlLSUQ654.png" />


在從節點:

使用有複製許可權的使用者帳號串連至主節點,並啟動複製線程;

指定二進位記錄檔及位置:

> CHANGE MASTER TO MASTER_HOST=‘192.168.255.2‘,MASTER_USER=‘repluser‘,MA

STER_PASSWORD=‘replpass‘,MASTER_LOG_FILE=‘master-bin.000003‘,MASTER_LOG_POS=499;


啟動從節點複製功能:

> START SLAVE;


查看從節點狀態資訊:

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/82/89/wKioL1dYP4PgLc_8AAEDTX7l9Uo544.png" title="9.png" width="737" height="810" border="0" hspace="0" vspace="0" style="width:737px;height:810px;" alt="wKioL1dYP4PgLc_8AAEDTX7l9Uo544.png" />


此時,主從複製配置完成;主節點再有任何寫操作交易記錄記錄,都會同步到從節點上並在從節點上replay;


驗證主從複製:


例如:在主節點建立庫:

建立前主從節點中的庫資訊都是初始時預設存在的庫:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/82/8B/wKiom1dYP-vTQlG5AAAUnCmkdXA822.png" title="10.png" alt="wKiom1dYP-vTQlG5AAAUnCmkdXA822.png" />


在主節點建立新庫:

> CREATE DATABASE mydb;


查看狀態資訊:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/82/89/wKioL1dYQa_Sf22jAAAWbTSCL6M875.png" title="12.png" width="703" height="133" border="0" hspace="0" vspace="0" style="width:703px;height:133px;" alt="wKioL1dYQa_Sf22jAAAWbTSCL6M875.png" />

二進位日誌中的事務位置發生了變化,此時從節點應該已經發生了同步;


在從節點查看:

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/82/89/wKioL1dYQUHD8N6PAAAjUVW5jmU366.png" title="11.png" alt="wKioL1dYQUHD8N6PAAAjUVW5jmU366.png" />


查看從節點狀態:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/82/8B/wKiom1dYQeDCNlrHAACezrKRtOs690.png" title="13.png" alt="wKiom1dYQeDCNlrHAACezrKRtOs690.png" />


此時,還要設定從伺服器不能由寫操作,因為只有讓主節點接受寫操作,從節點只負責讀請求,所有的寫操縱都必須從主節點複製到本地中繼日誌中replay後完成的:


設定從節點唯讀:

> SET GLOBAL read_only=ON;

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/82/89/wKioL1dYQ-GBFyY3AAAVBVuWx6E488.png" title="14.png" alt="wKioL1dYQ-GBFyY3AAAVBVuWx6E488.png" />


在從節點:

查看檔案:

]# cat /var/lib/mysql/master.info

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/82/8B/wKiom1dYRFPAD5-4AAByfDpv12E455.png" title="15.png" alt="wKiom1dYRFPAD5-4AAByfDpv12E455.png" />

此檔案就是為什麼能設定開機後自動實現啟動複製功能的重要檔案;


查看從節點的中繼記錄檔:

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/82/89/wKioL1dYRx7SeqtAAABTfzvxUhs285.png" title="16.png" alt="wKioL1dYRx7SeqtAAABTfzvxUhs285.png" />


主節點:保證從節點及時得到更新

應該設定此項:

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/82/8B/wKiom1dYSCTwFKNgAACRyn2hyR4335.png" title="17.png" alt="wKiom1dYSCTwFKNgAACRyn2hyR4335.png" />


從節點:

relay_log也會在記憶體中先緩衝,讓每一次寫出都立即同步到磁碟上,資料安全性提升,但磁碟io壓力變大,效能會有所下降;

還要設定如下參數:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/82/89/wKioL1dYSkKDkysVAABRqYVtPN4863.png" title="18.png" alt="wKioL1dYSkKDkysVAABRqYVtPN4863.png" />


示範完成。

mysql簡單的主從複製

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.