更新時間:2023年01月12日16時10分 來源:傳智教育 瀏覽次數(shù):
主從復(fù)制是指將主數(shù)據(jù)庫的 DDL 和 DML 操作通過二進(jìn)制日志傳到從庫服務(wù)器中,然后在從庫上對這些日志重新執(zhí)行(也叫重做),從而使得從庫和主庫的數(shù)據(jù)保持同步。
MySQL支持一臺主庫同時向多臺從庫進(jìn)行復(fù)制, 從庫同時也可以作為其他從服務(wù)器的主庫,實現(xiàn)鏈狀復(fù)制。
MySQL 復(fù)制的優(yōu)點主要包含以下三個方面:
1.主庫出現(xiàn)問題,可以快速切換到從庫提供服務(wù)。
2.實現(xiàn)讀寫分離,降低主庫的訪問壓力。
3.可以在從庫中執(zhí)行備份,以避免備份期間影響主庫服務(wù)。
從上圖來看,復(fù)制分成三步:
1. Master 主庫在事務(wù)提交時,會把數(shù)據(jù)變更記錄在二進(jìn)制日志文件 Binlog 中。
2. 從庫讀取主庫的二進(jìn)制日志文件 Binlog ,寫入到從庫的中繼日志 Relay Log 。
3. slave重做中繼日志中的事件,將改變反映它自己的數(shù)據(jù)。