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

MySQL mysqldump 使用說明(精簡版)

     編輯:MySQL 資料庫相關知識

mysqldump 核心參數速查與常用導出導入模板

本文為 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, --portTCP 端口
-q, --quick流式輸出不緩存,**大表必加**
-S, --socketUnix socket 文件路徑
-T, --tab輸出 .sql (DDL) 和 .txt (數據) 文件到目錄,**需服務器同機**
-u, --user用戶名
-O, --set-variable設置變量(舊語法)
-v, --verbose冗長模式
-V, --version版本信息
-w, --where導出符合條件的行(引號必須),如 -w "id>100"

三、四大經典用例

1. 導出整庫

mysqldump -u user -p db_name > dump.sql
# 例:mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2. 導出單表

mysqldump -u user -p db_name table_name > dump.sql
# 例:mysqldump -u wcnc -p smgp_apps_wcnc users > wcnc_users.sql

3. 導出庫結構(含 DROP TABLE)

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

4. 導入數據庫

# 方式 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。
  • 超大庫(>100GB)改用 mydumper/myloader 或 XtraBackup。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved