現在位置: 首頁 > Mysql > 正文

MySQL 5.6 單向複寫資料庫實作 (Replication)

在實作 MySQL 的複寫(Replication) 的時候必須注意 MySQL 5.5 之後所使用的設定方式並不相同,必須分清楚這一塊

 

在 MySQL Replication 的實作方式有很多種,這篇是實作 CentOS 6.7 – MySQL 5.6 單向複寫

 

Master:

接收執行指令(SELECT、UPDATE、INSERT … )

Slave:

僅查詢指令(SELECT)

由 Slave 主動向 Master 取得同步更新資料(由此規則所以 Slave 可以擁有多台,並且非同步複寫,即使中斷連線再恢復也可以回復資料庫同步的狀況。

 

 

資料庫複寫在以往通常使用廣泛用於:資料庫備份、分析

 

本篇範例至少需要兩台資料庫伺服器:

Master 伺服器:192.168.10.10

Slave 伺服器:192.168.10.11

 

MySQL 5.6 單向複寫資料庫實作

Master 設定

Step.1 在 Master 的 my.cnf 中 [mysqld]  加入以下複寫全部資料庫

  1. 預設 mysql 僅會繫結本機網路,所以必須註解
  2. server-id 與你的 slave 不可以重複
  3. log-bin 是要用來提供 slave restore 的 log

 

如果你只想複寫其中幾個資料庫可以使用 binlog-do-db 來指定資料庫

 

Step.2 重新啟動 Mysql 檢測 Master 運作並確認有產生 mysql-bin 的 log

 

Step.3 建立 Replication 使用者

在這邊請僅允許 SLAVE IP 即可。

 

Step.4 將 Master 的資料庫匯出,準備提供給 SLAVE 初始化資料庫使用

請注意 –master-data 是提供給 Master 匯出資料給 SLAVE 用的。

 

 

SLAVE 設定

Step.1 將 Master 匯出的 repl_db.sql 匯入

 

Step.2 設定 my.cnf,重啟 Mysql

如果你的 SLAVE 也需要複寫至其他 SLAVE 也可將 log-bin 參數加入

 

Step.3 SLAVE 的複寫設定

填入 Master 所設定的複寫帳號、主機

 

 

Step.4 啟動 SLAVE 複寫機制

 

Step.5 檢測 SLAVE 複寫狀況

確認沒有錯誤就可以在 Master 上建立資料庫或者 UPDATE、INSERT 的動作,通通都會立即在 SLAVE 上同步!

 

 

 

 

參考資料:

如何在 MySQL 5.5 設定單向資料庫複寫機制 (Replication)

文章連結: https://shazi.info/mysql-5-6-%e5%96%ae%e5%90%91%e8%a4%87%e5%af%ab%e8%b3%87%e6%96%99%e5%ba%ab%e5%af%a6%e4%bd%9c-replication/ | Mr. 沙先生

該文章由 shazi7804 於2015年12月05日發表在 Mysql 分類下, 你可以發表回文,並在保留原文地址及作者的情况下引用到你的網站或部落格。
原文轉載請註明: MySQL 5.6 單向複寫資料庫實作 (Replication) | Mr. 沙先生
標籤: , ,

MySQL 5.6 單向複寫資料庫實作 (Replication):給Mr.沙先生一點建議

發表回文