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

MySQL 資料庫導出導入完整指南:mysqldump 參數詳解與實戰範例

     編輯:MySQL 資料庫相關知識

mysqldump 基礎語法

mysqldump [選項] 資料庫名 [表名...]

若不指定表名,將導出整個資料庫。執行 mysqldump --help 可查看完整支援選項。

核心選項分類

效能與記憶體優化

  • -q, --quick:不緩衝查詢結果,直接串流輸出至 stdout,大表導出必備。
  • --opt:綜合優化選項,等同 --quick --add-drop-table --add-locks --extended-insert --lock-tables,產生最快導入速度的 SQL。

資料完整性與結構

  • --add-drop-table:建表前加 DROP TABLE。
  • --add-locks:導出時鎖表,加速導入。
  • -c, --complete-insert:完整 INSERT(含欄位名)。
  • -e, --extended-insert:多行 INSERT,縮減檔案體積。
  • -t, --no-create-info:僅導出資料,不含建表語句。
  • -d, --no-data:僅導出結構(Schema)。

連線與安全

  • -h, --host:指定主機(預設 localhost)。
  • -u, --user:使用者名稱。
  • -p, --password[=密碼]:密碼(建議互動式輸入)。
  • -P, --port:TCP 連接埠。
  • -S, --socket:Unix Socket 路徑。
  • -C, --compress:啟用壓縮傳輸。

進階過濾

  • -w, --where='條件':只導出符合 WHERE 條件的資料(需加引號)。
  • --ignore-table:排除特定表。

常見實戰範例

完整備份(含結構與資料)

mysqldump --opt -u root -p mydb > backup_full.sql

僅備份結構

mysqldump --no-data -u root -p mydb > schema_only.sql

遠端資料庫直接遷移

mysqldump --opt -u root -p mydb | mysql -h remote_host -u root -p target_db

導入 SQL 檔案

mysqladmin -u root -p create target_db
mysql -u root -p target_db < backup_full.sql

大型資料庫注意事項

導出大型資料庫時,務必加上 --quick 或 --opt,否則 mysqldump 會嘗試將整個結果集載入記憶體,導致 OOM 錯誤。搭配 gzip 或 bzip2 管線壓縮可節省磁碟空間。

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