MySQL備份與恢復

第一步準備工作:

 爲了避免數據的不一致問題的發生,在備份數據庫文件期間,不允許對該數據庫的數據進行更新操作。爲了實現這個目的,最爲簡單的方法就是停止MySQL服務。然後,將備份文件複製到其他存儲空間中。

  另一種方法無需停止MySQL服務,而是使用MySQL命令“flush tables with read lock”將服務器內存中的數據刷新到數據庫文件中,同時鎖定所有的表,以保證備份期間不會有新的數據寫入,從而避免數據的不一致問題發生。備份文件複製到其他存儲空間後,使用MySQL命令“unlock tables”進行鎖文件,MySQL服務實例即可重新提供數據更新服務,執行結果操作。

 備註:MySQL命令“flush tables with read lock”禁止了所有數據庫表的更新操作,但無法禁止數據庫表的查詢操作。

 

第二步:

  MySQL數據庫中的數據最終以文件的形式存在。備份的準備工作做好後,需要將數據庫的那些文件拷貝到磁盤中?

  如果數據庫中全部是myISAM存儲引擎的表,最爲簡單的數據庫備份方法是“備份”整個數據庫目錄(例如,將choose數據庫對應的choose目錄拷貝到磁盤中即可)。

  如果某個數據庫中還存在InnoDB存儲引擎的表,此時不僅需要“備份”整個數據庫目錄,還需要備份ibdata1表空間文件以及重做日誌文件ib_logfile0ib_logfile1.

   備份數據庫時,建議將MySQL配置文件一併進行備份。

 

 第三步:

  首先停止MySQL服務,然後將整個數據庫目錄、MySQL配置文件、ibdata1表空間文件以及重做日誌文件ib_logfile0ib_logfile1複製到新MySQL服務器對應目錄,這樣即可恢復數據庫中的數據。

   如果“新MySQL服務器”與“舊MySQL服務器”的數據庫根目錄不同,則還需要修改my.ini配置文件中的【mysqld】選項組中的datadir參考信息。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章