| 類別 | 參數 | 說明 | 推薦場景 |
|---|---|---|---|
| 兼容性 | --compatible=name | 目標兼容模式:ansi,mysql323,mysql40,postgresql,oracle,mssql,db2,maxdb,no_key_options... | 異構遷移 |
--default-character-set=charset | 指定導出字符集,防亂碼 | 非 latin1 環境必加 | |
--set-gtid-purged=OFF | 不輸出 GTID 資訊,避免污染目標庫 | 5.6+ 跨實例遷移 | |
| 輸出格式 | --complete-insert / -c | 完整 INSERT 含列名,效率高但受 max_allowed_packet 限制 | 小表/需可讀性 |
--extended-insert | 多行 VALUES 批量 INSERT(預設開啟) | 大表導入加速 | |
--hex-blob | BINARY/VARBINARY/BLOB 十六進制導出 | 含二進制欄位必加 | |
--no-create-info / -t | 僅導數據,無 CREATE TABLE | 數據遷移/同步 | |
| 鎖表/一致性 | --lock-all-tables / -x | 全局讀鎖,關閉 single-transaction | MyISAM 全庫一致性備份 |
--lock-tables | 逐庫鎖表(MyISAM 適用) | 單庫 MyISAM | |
--single-transaction | InnoDB 熱備金標準,BEGIN+一致性視圖 | InnoDB 必加 | |
--master-data=1|2 | 輸出 CHANGE MASTER 註解(1=不註解,2=註解) | 搭建從庫/時間點恢復 | |
--flush-logs | 備份前刷新 Binlog,配合 master-data 定位 | 增量備份基準點 | |
| 對象範圍 | --routines / -R | 導出預存程序/函數 | 完整遷移必加 |
--triggers | 導出觸發器(預設開啟) | 完整遷移 | |
--no-data / -d | 僅導結構 | 結構遷移/審計 | |
| 性能 | --quick / -q | 流式讀取,不緩存結果集 | 大表必加 |
--opt | 綁定組合:add-drop-table,lock-tables,extended-insert,quick...(預設開啟) | 通用備份 |
/usr/local/mysql/bin/mysqldump -u$user -p$pass \
--default-character-set=utf8 \
--opt --extended-insert=false \
--triggers -R --hex-blob -x \
db_name > db_name.sql
/usr/local/mysql/bin/mysqldump -u$user -p$pass \
--default-character-set=utf8 \
--opt --extended-insert=false \
--triggers -R --hex-blob \
--single-transaction \
db_name > db_name.sql
/usr/local/mysql/bin/mysqldump -u$user -p$pass \
--default-character-set=utf8 \
--opt --master-data=1 \
--single-transaction --flush-logs \
db_name > db_name.sql
--master-data=1 輸出可直接執行的 CHANGE MASTER TO;=2 註解化供參考。
--quick --single-transactionmax_allowed_packet(客戶端/服務端同調)mysqldump ... db table1 > t1.sql 並行執行mysqldump ... | gzip > backup.sql.gz