最近在寫Mycat專題,由於不少小夥伴最近要出門面試,問我能不能簡單寫下MySQL的主從複製原理和注意事項,因為在之前的面試中被問到了這些問題。我:可以啊,安排上了! !
(1) Master 將資料改變記錄到二進位日誌(binary log)中,也就是設定檔log-bin 指定的文件, 這些記錄叫做二進位日誌事件(binary log events);
(2) Slave 透過I/O 執行緒讀取Master 中的binary log events 並寫入到它的中繼日誌(relay log);
(3) Slave 重做中繼日誌中的事件,把中繼日誌中的事件資訊一條一條的在本地執行一次,完成數據在本地的存儲,從而實現將改變反映到它自己的數據(數據重播)。
(1)主從伺服器作業系統版本和位元數一致;
(2) Master 和Slave資料庫的版本要一致;
(3) Master 和Slave 資料庫中的資料要一致;
(4) Master 開啟二進位日誌,Master 和Slave 的server_id 在區域網路內必須唯一;
(1) 安裝資料庫;
(2) 修改資料庫設定文件,指明server_id,開啟二進制日誌(log-bin);
(3) 啟動資料庫,查看目前是哪個日誌,position 號碼是多少;
(4) 登入資料庫,授權資料複製使用者(IP 位址為從機IP 位址,如果是雙向主從,這裡的還需要授權本機的IP 位址,此時自己的IP 位址就是從IP 位址);
(5) 備份資料庫(記得加鎖和解鎖);
(6) 傳送備份資料到Slave 上;
(7) 啟動資料庫;
以上步驟,為單向主從搭建成功,想搭建雙向主從需要的步驟:
(1) 登入資料庫,指定Master 的位址、使用者、密碼等資訊(此步驟僅雙向主從時需要);
(2) 開啟同步,查看狀態;
(1) 安裝資料庫;
(2) 修改資料庫設定文件,指明server_id(如果是搭建雙向主從的話,也要開啟二進位日誌log-bin);
(3) 啟動資料庫,還原備份;
(4) 檢視目前是哪個日誌,position 號碼是多少(單向主從此步驟不需要,雙向主從需要);
(5) 指定Master 的位址、使用者、密碼等資訊;
(6) 開啟同步,檢視狀態。
好了,今天就到這裡吧,後續我們實戰以各種方式實現MySQL主從複製,我是冰河,我們下期見! !
更多相關免費學習推薦:##mysql教學(影片)
#
以上是都在這裡了! ! MySQL主從複製的原理和注意事項的詳細內容。更多資訊請關注PHP中文網其他相關文章!