首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 資料庫備份與還原完整指南:從備份到恢復的實戰操作

     編輯:MySQL 綜合教學

前言

MySQL 資料庫在運行過程中可能遭遇資料損壞或遺失,掌握正確的備份與還原方法至關重要。本文以實例說明 MySQL 資料庫的備份、重建與還原流程,特別針對 InnoDB 存儲引擎的日誌檔案處理進行說明。

關鍵背景知識:InnoDB 日誌檔案

ib_logfile0 和 ib_logfile1 是 InnoDB 用於事務暫存與回滾的日誌檔案。若在遷移或復原時僅複製 ibdata1 而遺漏這兩個日誌檔,MySQL 將無法啟動,錯誤日誌(.err)中會出現類似 InnoDB: Your database may be corrupt... 或 log文件無法被識別 的訊息。

完整還原操作流程

1. 以唯讀模式啟動 MySQL

進入 MySQL bin 目錄,執行:

mysqld-nt --innodb_force_recovery=4

此參數以唯讀方式啟動資料庫,允許備份資料但禁止寫入操作。啟動後請保持該視窗開啟。

2. 備份目標資料庫

另開命令視窗,使用 mysqldump 匯出資料:

mysqldump -u使用者 -p密碼 --opt --add-drop-table 資料庫名稱 > 備份檔案路徑

3. 刪除原資料庫

登入 MySQL 執行:

DROP DATABASE 資料庫名稱;

4. 結束 MySQL 進程

輸入 QUIT 退出 MySQL,並關閉步驟 1 中以 --innodb_force_recovery=4 啟動的服務視窗。

5. 清理 data 目錄

進入 MySQL data 目錄,刪除除資料夾以外的所有檔案(包含 ibdata1、ib_logfile* 等系統檔案)。

6. 正常重啟 MySQL

執行 mysqld 正常啟動服務,MySQL 將自動建立新的系統檔案(ibdata1、ib_logfile0/1 等)。

7. 建立新資料庫

登入 MySQL 執行:

CREATE DATABASE 資料庫名稱;

8. 還原資料

在命令列執行(非 MySQL 內部):

mysql -u使用者 -p密碼 資料庫名稱 < 備份檔案路徑

注意事項

  • 操作前請確認備份檔案完整可用。
  • --innodb_force_recovery=4 僅供緊急備份使用,不可長期運行。
  • 生產環境建議先在測試環境演練。

相關延伸閱讀

  • MySQL 查詢超時問題處理方法
  • MySQL 刪除重複記錄的方法
  • MySQL 查詢快取機制簡介
  • 使用 MySQL 臨時表加速查詢
  • 5 種常見的 MySQL 日誌類型
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved