首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 資料庫備份與還原完整指南:mysqldump 參數詳解與實戰操作

     編輯:MySQL 資料庫相關知識

MySQL 資料庫備份與還原核心指令

資料庫備份是資料庫管理中最關鍵的環節之一。MySQL 內建的 mysqldump 工具提供了強大且靈活的備份功能,支援從完整實例備份到單一資料表的精細控制。本文將系統整理常用備份場景與還原流程,助你快速掌握生產環境級的資料保護技能。

完整實例備份(所有資料庫)

適用於伺服器遷移、災難恢復演練或完整離線備份:

mysqldump --user=用戶名 --password=密碼 -A > /備份路徑/完整備份.sql
  • -A / --all-databases:包含系統資料庫(mysql、information_schema、performance_schema)在內的所有資料庫
  • 輸出檔案包含 CREATE DATABASE 與 USE 語句,還原時可直接建立完整環境

指定單一或多個資料庫備份

生產環境常見需求,僅備份業務相關資料庫:

mysqldump --user=用戶名 --password=密碼 --databases DB_NAME1 DB_NAME2 DB_NAME3 > /備份路徑/指定資料庫.sql
  • --databases:後接資料庫名稱列表,支援多個資料庫
  • 輸出同樣包含 CREATE DATABASE 與 USE,還原更便捷

單一資料庫特定資料表備份

針對大型資料庫的局部備份,或僅需遷移特定業務表:

mysqldump --user=用戶名 --password=密碼 --databases DB_NAME --tables TABLE_NAME > /備份路徑/單表備份.sql
  • --tables:限定僅匯出指定資料表
  • 適合大表拆分備份、歷史資料歸檔等場景

資料庫還原標準流程

  1. 解壓縮備份檔:若備份檔經過 gzip 等壓縮,先解壓至可讀取目錄
  2. 檢視並提取所需內容:使用 less、grep 或編輯器確認 SQL 內容,必要時僅保留目標資料庫/資料表片段
  3. 儲存為純文字 SQL 檔:確保編碼一致(建議 UTF-8),避免中文亂碼
  4. 執行還原指令:
mysql --verbose --user=用戶名 --password=密碼 目標資料庫名 < /備份路徑/備份檔.sql
  • --verbose:顯示詳細執行進度,便於監控大量資料匯入狀態
  • 若備份檔已含 CREATE DATABASE,可省略目標資料庫參數直接匯入

生產環境進階建議

  • 單一交易備份:加入 --single-transaction(InnoDB 專用)獲得一致性快照,避免鎖表影響線上服務
  • 壓縮輸出:管道至 gzip 節省儲存空間:mysqldump ... | gzip > backup.sql.gz
  • 排除系統表:使用 --ignore-table=mysql.event 等參數跳過不需備份的系統表
  • 定時自動化:結合 cron 或系統排程器實現每日/每小時增量/全量備份策略

掌握這些核心參數與流程,即可構建可靠的 MySQL 資料保護體系。建議定期演練還原流程,驗證備份檔完整性與還原時效,確保關鍵時刻能夠快速恢復業務。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved