本文為 mysqldump 精簡參考,聚焦高頻參數、四大經典用例、導入恢復命令,適合快速查閱。完整參數詳解請參考「MySQL mysqldump 數據導出導入完整指南」。
mysqldump [OPTIONS] database [tables...]
不指定表則導出整庫。mysqldump --help 查看完整選項。
注意: 無 --quick 或 --opt 時,大結果集會全量緩存內存導致 OOM。
| 參數 | 說明 |
|---|---|
--add-locks | 每表導出前加 LOCK TABLES,導入時加速插入 |
--add-drop-table | 每個 CREATE TABLE 前加 DROP TABLE |
--allow-keywords | 允許關鍵字作為列名(表名作前綴) |
-c, --complete-insert | 完整 INSERT 語句(含列名),體積大、解析慢,**不推薦** |
-C, --compress | 客戶端-服務端壓縮傳輸 |
--delayed | 使用 INSERT DELAYED 插入 |
-e, --extended-insert | 多行 INSERT,**必加**,體積小、導入快 |
-#, --debug | 調試跟蹤 |
--help | 顯示幫助 |
--fields-terminated-by 等 | 配合 -T 導出文本文件,同 LOAD DATA INFILE 子句 |
-F, --flush-logs | 導出前刷新 binlog |
-f, --force | 導出期間遇錯誤繼續 |
-h, --host | 指定主機(默認 localhost) |
-l, --lock-tables | 導出前鎖定所有表(MyISAM 適用,InnoDB 用 --single-transaction) |
-t, --no-create-info | 不導出 CREATE TABLE(僅數據) |
-d, --no-data | 不導出數據(僅結構) |
--opt | 綁定 --quick --add-drop-table --add-locks --extended-insert --lock-tables,**推薦生產環境** |
-p, --password | 密碼(命令行明文不安全,建議配置文件或交互輸入) |
-P, --port | TCP 端口 |
-q, --quick | 流式輸出不緩存,**大表必加** |
-S, --socket | Unix socket 文件路徑 |
-T, --tab | 輸出 .sql (DDL) 和 .txt (數據) 文件到目錄,**需服務器同機** |
-u, --user | 用戶名 |
-O, --set-variable | 設置變量(舊語法) |
-v, --verbose | 冗長模式 |
-V, --version | 版本信息 |
-w, --where | 導出符合條件的行(引號必須),如 -w "id>100" |
mysqldump -u user -p db_name > dump.sql
# 例:mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
mysqldump -u user -p db_name table_name > dump.sql
# 例:mysqldump -u wcnc -p smgp_apps_wcnc users > wcnc_users.sql
mysqldump -u user -p -d --add-drop-table db_name > schema.sql
# 例:mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc > wcnc_db.sql
# 方式 1:命令行
mysqladmin -u root -p create target_db
mysql -u root -p target_db < dump.sql
# 方式 2:MySQL 客戶端內部
mysql> USE target_db;
mysql> SOURCE /path/to/dump.sql;
# InnoDB 熱備標準命令
mysqldump -u$user -p$pass -h$host \
--single-transaction --master-data=2 --routines --triggers --events \
--quick --extended-insert --hex-blob \
--databases db1 db2 > backup_$(date +%F).sql
--quick 防 OOM。foreign_key_checks、unique_checks、sql_log_bin 大幅提速。--default-character-set=utf8mb4。