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

MySQL 命令列備份還原完整手冊:mysqldump 參數大全與壓縮/跨機遷移技巧

     編輯:MySQL 資料庫相關知識

Web 介面匯出易遭逾時,命令列 mysqldump 是大型資料庫備份還原的標準工具。本文彙整核心指令、壓縮管線、選擇性備份與跨伺服器遷移技巧。

基礎備份與還原

備份單一資料庫(輸出至檔案)

mysqldump -u mysqluser -p test_db > test_db.sql

備份並即時壓縮(推薦大型庫)

mysqldump -u mysqluser -p test_db | gzip > test_db.sql.gz

還原未壓縮檔案

cat test_db.sql | mysql -u mysqluser -p test_db

還原壓縮檔案

gunzip < test_db.sql.gz | mysql -u mysqluser -p test_db

進階 mysqldump 參數速查表

需求指令範例
帶 DROP TABLE 覆蓋式備份mysqldump --add-drop-table -u user -p db > backup.sql
備份指定資料表mysqldump -u user -p db table1 table2 > backup.sql
同時備份多個資料庫mysqldump --databases db1 db2 db3 > multi.sql
僅備份結構(無資料)mysqldump --no-data --databases db1 db2 > struct.sql
備份伺服器上所有資料庫mysqldump --all-databases > all.sql
指定主機/連接埠mysqldump -h host -P 3306 -u user -p db > backup.sql

跨伺服器直接遷移(無中繼檔案)

mysqldump -u user -p db | mysql --host=目標IP -C db

-C 啟用壓縮傳輸,適合跨機房遷移。

還原指令對應表

# 一般還原
mysql -h host -u user -p db < backup.sql

# 還原壓縮檔
gunzip < backup.sql.gz | mysql -u user -p db

實戰提醒

  • 備份前確認 max_allowed_packet 足夠大(建議 1G+)避免大欄位截斷
  • 生產庫備份建議加 --single-transaction --master-data=2 獲取一致性快照與 Binlog 位置
  • 定期驗證備份檔案可還原性,未測試的備份等於無備份
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved