1. 程式人生 > 實用技巧 >mysql備份與恢復

mysql備份與恢復

備份和恢復:

  為什麼要備份?
        災難恢復:硬體故障、軟體故障、自然災害、黑客攻擊、誤操作;

  要注意的要點:
        能容忍最多丟失多少資料:
        恢復資料需要在多長時間內完成:
        需要恢復哪些資料:

        (1)做還原測試,用於測試備份的可用性:
        (2)還原演練:

  備份型別:
        完全備份,部分備份
              完全備份:整個資料集;
              部分備份:只備份資料子集;

        完全備份、增量備份、差異備份
              增量備份:僅備份最近一次完全備份或增量備份(如果存在增量)以來變化的資料;
              差異備份:僅備份最近一次完全備份以來變化的資料:

        熱備份、溫備份、冷備份
              熱備:讀寫操作均可執行:
              溫備:讀操作可執行:但寫操作不成:
              冷備:讀寫操作均不可進行;

              MyISAM:溫備,不能熱備:
              InnoDB:熱備:

              物理備份、邏輯備份
                    物理備份:直接複製資料檔案進行備份:
                    邏輯備份:從資料庫中“匯出”資料另存而進行的備份:

                    邏輯備份:與儲存引擎無關:
        備份時需要考慮的因素:
              持鎖多久
              備份過程的時長
              備份負載
              恢復過程的時長

        備份什麼?
              資料
              二進位制日誌、InnoDB的事務日誌
              程式碼(儲存過程、儲存函式、觸發器、事件排程器)
              伺服器的配置檔案


        設計備份方案:
              資料集:完全+增量:
              備份手段:物理,邏輯:

        備份工具:
              mysqldump:邏輯備份工具,適用所有儲存引擎,溫備:完全備份、部分備份:對InnoDB儲存引擎支援熱備
              cp, tar等複製歸檔工具:物理備份工具,適用所有儲存引攀:冷備:完全備份,部分備份:
              lvm2的快照:幾乎熱備:藉助於檔案系統管理工具進行備份:
              mysqlhotcopy:幾乎冷備:僅適用於MyISAM儲存引擎

        備份工具的選擇:
              mysqldump+複製binlog:
                    mysqldump:完全備份;
                    複製binlog中指定時間範圈的event:增量備份:
              lvm2快照+複製binlog:
                    lvm2快照:使用cp或tar等做物理備份:完全備份:
                    複製binlog中指定時間範圍的event:增量備份:
              xtrabackup:
                    由Percona提供的支援對InnoDB做熱備(物理備份)的工具:
                    完全備份、增量備份