mysqldump 是 MySQL 官方提供的邏輯備份工具,靈活的參數組合可滿足「只導結構」、「只導數據」、「導出特定表」等多種需求。以下整理常用命令模板,方便快速查閱。
mysqldump -t 數據庫名 -u root -p > xxx.sql
-t / --no-create-info 表示不輸出 CREATE TABLE 語句,僅包含 INSERT 數據行。
mysqldump --opt -d 數據庫名 -u root -p > xxx.sql
-d / --no-data 表示不導出數據;--opt 開啟一組優化參數(預設開啟),生成更高效的導入腳本。
mysqldump 數據庫名 -u root -p > xxx.sql
無額外過濾參數時,預設導出該庫所有表的結構與數據。
mysqldump -u root -p -B 數據庫名 --table 表名 > xxx.sql
-B / --databases 使輸出包含 CREATE DATABASE 與 USE 語句;--table 指定單表或多表(以空格分隔)。
mysql -u root -p 數據庫名 < xxx.sql
或在 MySQL 客戶端內執行:source /path/xxx.sql;
| 參數 | 說明 |
|---|---|
-t, --no-create-info | 不輸出建表語句(只導數據) |
-d, --no-data | 不輸出數據(只導結構) |
--opt | 啟用優化組合(預設開啟) |
-B, --databases | 輸出包含 CREATE DATABASE/USE |
--table=name | 指定導出的表(可多次使用) |
-u, --user | 用戶名 |
-p, --password | 密碼(建議交互式輸入) |
--single-transaction(InnoDB)獲取一致性視圖,避免鎖表。CREATE DATABASE。--master-data=2 記錄 binlog 位點,便於搭建從庫。