1.爲什麼要進行數據備份
衆所周知現在數據最重要,信息是最關鍵的東西,爲了保證數據的安全性,mysql開發出了一系列的數據複製技術,最早的數據備份是冷備,即定期將數據複製到某種存儲介質(磁帶,光盤…)上並物理存檔保管,現在mysql複製技術多種多樣。
2.如何實現複製
**複製有3個步驟:
1.master將變更記錄到二進制日誌(binary log)中(這些記錄叫做二進制日誌事件,binary log events)。
2.slave將master的binary log events拷貝到它的中繼日誌(relay log);
3.slave回放中繼日誌中的事件,更新自己的數據 **
這是最基本的主從複製結構
3.什麼是數據庫複製?
複製數據庫實際上就是指在數據庫系統的多個數據庫間拷貝和維護數據庫對象的過程
這個對象可以是整個表、部分列或行、索引、視圖、過程或者他們的組合等
廣義上,凡是通過數據庫系統生成數據庫對象副本的過程都可以稱爲複製數據庫
3.數據庫複製的分類
主從複製(異步複製):
複製中只允許從源數據庫(即主數據庫)向其他數據庫(從數據庫)複製對象,複製對象存放在從數據庫站點中。主從複製是最基本的一種結構。在這種結構中,定義一個主節點,其源數據稱爲主節點數據(或主拷貝) ;定義1到n個複製節點,其從主節點複製過來的數據稱爲複製點數據(或副拷貝) 。數據更新操作只能在主拷貝上進行,然後複製給其它副拷貝。
最基礎最簡單的就是我們的基於日誌的主從複製,也就是上面圖片所顯示的東西
還有基於GTID的主從複製,比之前的傳統複製效率更高,還有基於GTID 的組複製(全同步),就是經典的一主多從模式,以及半同步複製較爲穩定效率更高,還有基於mysql-proxy的讀寫分離,以及基於MHA的mysql高可用,博客都會一一寫到。