# 1. 單庫/指定表 mysqldump [options] db_name [table1 table2 ...] # 2. 多庫(輸出含 CREATE DATABASE) mysqldump [options] --databases db1 [db2 db3 ...] # 3. 全庫(含系統庫) mysqldump [options] --all-databases
| 需求 | 命令範例 | 關鍵參數說明 |
|---|---|---|
| 備份單庫結構+資料 | mysqldump -uroot -p mysql > mysql_backup.sql | 不含 CREATE DATABASE |
| 備份多庫含建庫語句 | mysqldump -uroot -p --databases mysql test > multi.sql | --databases |
| 備份所有資料庫 | mysqldump -uroot -p --all-databases > all.sql | --all-databases |
| 僅導出結構 | mysqldump -uroot -p -d --add-drop-table mysql > schema.sql | -d no-data, --add-drop-table |
| 導出並即時壓縮 | mysqldump -uroot -p mysql | gzip > mysql.sql.gz | 管線串流壓縮 |
| 大表優化導出 | mysqldump -uroot -p --quick --single-transaction db > dump.sql | --quick 串流, --single-transaction 一致性 |
# 方式 1:重導向 mysql db_name < backup.sql # 方式 2:source 指令(需先進入 mysql client) mysql -e "SOURCE /path/backup.sql" db_name # 從 gz 壓縮檔還原 gunzip -c mysql.sql.gz | mysql -uroot -p db_name
特點:僅導出資料,不含結構;檔案生成於伺服器端;需 FILE 權限。
SELECT * INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM mysql.user;
FIELDS TERMINATED BY ',':欄位分隔符OPTIONALLY ENCLOSED BY '"'":字串欄位雙引號包裹(數值型不受影響)LINES TERMINATED BY '\n'":換行符SELECT INTO OUTFILE 的逆操作,支援相同格式參數。
LOAD DATA LOCAL INFILE '/tmp/result.txt' INTO TABLE test.user FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
LOCAL:檔案在客戶端,透過網路傳輸給 Server(需客戶端/服務端皆啟用 local_infile=1)。LOCAL:檔案必須在 Server 端,速度更快但需 FILE 權限。| 參數 | 範例值 | 說明 |
|---|---|---|
| FIELDS TERMINATED BY | ','、'\t'、'|' | 欄位分隔符,CSV 常用逗號,TSV 用 Tab |
| OPTIONALLY ENCLOSED BY | '"'"、'''' | 字串包裹字元,含分隔符時必須 |
| ESCAPED BY | '\\' | 跳脫字元,預設反斜線 |
| LINES TERMINATED BY | '\n'、'\r\n' | 行結束符,跨平台注意 |
| LINES STARTING BY | '' | 行前綴(較少用) |
SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0; SET AUTOCOMMIT=0;,匯入後恢復並 COMMIT;。--default-character-set=utf8mb4,避免亂碼。secure_file_priv 限制 INTO OUTFILE 目錄,查詢 SHOW VARIABLES LIKE 'secure_file_priv'; 確認可寫路徑。選型建議: 邏輯備份/跨版本遷移/異構同步 →
mysqldump;同版本大量資料高速搬遷 →SELECT INTO OUTFILE+LOAD DATA INFILE(配合myloader並行);物理備份/極速恢複 → Percona XtraBackup。