一、主從數據數據庫概念
概念:建一個和主數據庫一摸一樣的數據庫,稱爲從數據庫,主數據庫一般用來更新實時業務數據,從數據庫一般用來數據的讀取、備份、調試等。
優點:
(1)主數據庫出現故障,從數據庫可代替繼續工作,不影響業務流程
(2)當線上項目出現bug,無法及時調試的時候,可連接從數據庫進行調試。
(3)業務量比較大,採取讀寫分離,主數據庫進行寫,從數據庫進行讀取操作。
(4)進行讀寫分離後,可以將數據庫分佈在不同服務器上,提高效能。
二、linux上的複製配置
注意:操作前主數據庫開啓/遠程連接*
環境:centons7,mysql5.6
準備兩臺服務器:
192.168.88.203 3306 主
192.168.88.202 3306 從
(1)先關閉兩臺數據庫
systemctl restart|start|stop mysqld.service 重啓|啓動|關閉
(2)主從數據庫配置
linux文件路徑: vi /etc/my.cnf 文件
主:配置參數:
log_bin=mysql-bin #不必須,啓動mysql二進制日誌系統
server_id = 1 # 必須,設置服務器的Id,爲1表示主,規範爲服務器IP的後段
binlog-do-db=zhihuicloud # 需要同步的數據庫,如有多個數據庫,可重複每個數據庫一行
binlog-ignore-db=mysql #不需要同步mysql系統數據庫
從:配置參數:
log_bin=mysql-bin #不必須,啓動mysql二進制日誌系統
server_id = 2 # 必須,設置服務器的Id,爲2表示從服務器,規範爲服務器IP的後段
binlog-do-db=zhihuicloud # 需要同步的數據庫,如有多個數據庫,可重複每個數據庫一行
binlog-ignore-db=mysql #不需要同步mysql系統數據庫
配置完成後啓動
systemctl restart|start|stop mysqld.service 重啓|啓動|關閉
(3)配置啓動:主:執行sql
show master status;
結果如圖
(4)配置啓動:從:執行sql
注意!!!:File,Position,這兩個參數,上圖查詢出來得到值
stop slave ;
CHANGE MASTER TO master_host = '192.168.88.203', -- 需要同步的主服務器
master_user = 'root',-- root賬戶
master_password = 'i48POqptf0', -- 密碼
master_log_file = 'mysql-bin.000010', -- 上圖查詢的值
master_log_pos = 8425204; -- 上圖查詢的值
start slave ; -- 啓動
show slave status; -- 查詢
結果如圖
當現實Yes,Yes時,已經配置成功。主等加一個操作,在從自動增加。
從MySQL數據庫只是隨主MySQL而實時改變,
但是從MySQL數據庫的操作對主MySQL沒有任何影響!
完畢!!!
面向開發過程,記錄學習之路。