首頁常見問題正文

什么是主從復(fù)制?MySQL主從復(fù)制的原理

更新時(shí)間:2022-10-11 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班


主從復(fù)制是指將主數(shù)據(jù)庫的 DDL 和 DML 操作通過二進(jìn)制日志傳到從庫服務(wù)器中,然后在從庫上對(duì)這些日志重新執(zhí)行(也叫重做),從而使得從庫和主庫的數(shù)據(jù)保持同步。

MySQL支持一臺(tái)主庫同時(shí)向多臺(tái)從庫進(jìn)行復(fù)制, 從庫同時(shí)也可以作為其他從服務(wù)器的主庫,實(shí)現(xiàn)鏈狀復(fù)制。

主從復(fù)制

MySQL 復(fù)制的優(yōu)點(diǎn)主要包含以下三個(gè)方面:

1.主庫出現(xiàn)問題,可以快速切換到從庫提供服務(wù)。

2.實(shí)現(xiàn)讀寫分離,降低主庫的訪問壓力。

3.可以在從庫中執(zhí)行備份,以避免備份期間影響主庫服務(wù)。

主從復(fù)制操作步驟

從上圖來看,復(fù)制分成三步:

1. Master 主庫在事務(wù)提交時(shí),會(huì)把數(shù)據(jù)變更記錄在二進(jìn)制日志文件 Binlog 中。

2. 從庫讀取主庫的二進(jìn)制日志文件 Binlog ,寫入到從庫的中繼日志 Relay Log 。

3. slave重做中繼日志中的事件,將改變反映它自己的數(shù)據(jù)。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!