Mysql技術內幕InnoDB儲存引擎讀書筆記--《八》備份與恢復

FreeeLinux發表於2017-07-01

這一章內容比較水,偏重於DBA的實踐技能,開發人員我覺得了解下就可以了。

備份

按照備份的方法可分為:

  1. Hot Backup(熱備)
  2. Cold Backup(冷備)
  3. Warm Backup(溫備)

按照備份資料庫的內容來分,又可以分為:

  1. 完全備份
  2. 增量備份
  3. 日誌備份

完全備份是指對資料庫進行一個完整的備份。增量備份是指在上次完全備份的基礎上,對更新的資料進行備份。日誌備份主要是指對Mysql資料庫二級制日誌的備份,通過對一個完全備份進行二進位制日誌的重做來完成資料庫的point-in-time的恢復工作。Mysql資料庫複製(Replication)的原理就是非同步實時進行二進位制日誌重做。

複製

複製是Mysql資料庫提供的一共高可用、高效能的解決方案,一般用來建立大型的應用。複製的工作原理分為以下三個步驟:
(1)主伺服器把資料更新記錄到二進位制日誌中。
(2)從伺服器把主伺服器的二進位制日誌拷貝到自己的中繼日誌中。
(3)從伺服器重做中繼日誌中的時間,把更新應用到自己的資料庫上。

複製的主伺服器上有一個執行緒負責傳送二進位制日誌。從伺服器由兩個執行緒:一個是I/O執行緒,負責讀取主伺服器的二進位制日誌,並將其儲存為中繼日誌;另一個是SQL執行緒,複製執行中繼日誌。

複製功能不僅限於備份,可用功能如下:

  • 資料分佈。由於Mysql資料庫提供的複製並不需要很大的頻寬,因此可以再不同的資料中心之間實現資料的拷貝。
  • 讀取的負載均衡。通過建立多個從伺服器,可將讀取平均地分佈到這些從伺服器中,從而減少主伺服器的壓力。
  • 資料庫備份。複製對備份很有幫助,但是從伺服器不是備份,不可能完全替代備份。
  • 高可用性和故障轉移。通過複製建立的從伺服器有助於故障轉移,減少故障的停機時機和恢復時間。

相關文章