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

MySQL 資料庫備份與還原核心命令總覽:mysqldump 參數詳解與實戰場景

     編輯:MySQL 綜合教學

MySQL 備份還原命令實戰大全

mysqldump 是 MySQL 官方邏輯備份工具,支援全庫、單表、多庫、僅結構、壓縮、跨主機遷移等多種場景。本文彙整生產環境最高頻的 8 大指令模板,附帶參數說明與還原範例。

一、備份指令模板

場景指令關鍵參數說明
標準單庫備份 mysqldump -h host -u user -p db > backup.sql -h 主機、-u 使用者、-p 密碼(互動式較安全)
含 DROP TABLE 的備份 mysqldump --add-drop-table -u user -p db > backup.sql 還原前自動刪除同名表,適合覆蓋式恢復
壓縮備份 mysqldump -h host -u user -p db | gzip > backup.sql.gz 管道導向 gzip,節省磁碟空間
指定表備份 mysqldump -h host -u user -p db t1 t2 > backup.sql 表名以空格分隔,可指定多張
多庫同時備份 mysqldump -h host -u user -p --databases db1 db2 db3 > multi.sql --databases 宣告多庫模式
僅備份結構 mysqldump --no-data --databases db1 db2 > struct.sql --no-data 排除資料,僅含 CREATE TABLE
全例備份 mysqldump --all-databases > all.sql 包含 mysql 系統庫,遷移首選

二、還原指令

1. 標準還原

mysql -h host -u user -p db < backup.sql

2. 壓縮檔還原

gunzip < backup.sql.gz | mysql -u user -p db

3. 跨主機直接遷移

mysqldump -u user -p db | mysql --host=target_ip -C db

-C 啟用壓縮傳輸,加速廣域網遷移。

三、常用參數速查

  • --opt = --quick --add-drop-table --add-locks --extended-insert --lock-tables(預設開啟,最快匯出)
  • --quick:不緩衝查詢結果,直接串流輸出,大表必備
  • --single-transaction:InnoDB 熱備份關鍵,配合 --master-data=2 獲取一致性位置
  • --where:條件式備份,如 --where="id > 1000"
  • --default-character-set / --set-charset:字符集指定,避免亂碼

四、最佳實踐建議

  1. 生產庫備份加 --single-transaction --master-data=2 確保一致性不鎖表。
  2. 定期驗證備份可用性:mysql -u user -p test_db < backup.sql。
  3. 備份檔異地儲存,保留至少 7 天完整備份 + 每日增量。
  4. 大表考慮 mydumper 多執行緒並行備份提速。

掌握上述指令組合,即可應對從開發測試到生產災備的完整生命週期需求。

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