首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 匯入匯出命令大全:mysqldump、LOAD DATA、SELECT INTO OUTFILE 實戰速查

     編輯:MySQL 綜合教學

一、mysqldump:邏輯備份標準工具

基本語法

mysqldump -u user -p db_name [table_name] > dump.sql

常用場景

需求命令範例
整庫備份mysqldump -u root -p abc > abc.sql
單表備份mysqldump -u root -p abc users > abc_users.sql
僅結構(無資料)mysqldump -u root -p -d --add-drop-table abc > abc_db.sql
遠端備份mysqldump -h 10.1.1.1 -u root -p db > dump.sql
壓縮備份mysqldump -u root -p db | gzip > db.sql.gz

還原流程

# 1. 建立目標庫
mysql -u root -p -e "CREATE DATABASE db_name;"
# 2. 導入
mysql -u root -p db_name < dump.sql
# 或進入 mysql 後
SOURCE /path/to/dump.sql;

二、LOAD DATA / SELECT INTO OUTFILE:大量資料高速搬遷

適用於表結構完全一致、同一伺服器或掛載共享儲存的場景,速度比 mysqldump 快 10~50 倍。

導出:SELECT INTO OUTFILE

-- 預設 tab 分隔、換行分隔
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy.txt';

-- 自訂格式(CSV 風格)
SELECT * FROM hx_9enjoy 
INTO OUTFILE '/tmp/9enjoy_hx.txt' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n';

-- 條件導出
SELECT * FROM hx_9enjoy WHERE id < 100 INTO OUTFILE '/tmp/9enjoy_100.txt';

導入:LOAD DATA INFILE

-- 預設格式
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy;

-- 對應自訂格式
LOAD DATA INFILE '/tmp/9enjoy_hx.txt' INTO TABLE hx_9enjoy
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

-- 指定字符集(防亂碼)
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy CHARACTER SET gbk;

三、權限與限制必讀

  • FILE 權限:執行帳號需有 FILE 權限,且 MySQL 進程能讀寫目標目錄
  • secure_file_priv:MySQL 5.6+ 預設限制導入導出目錄,查看:SHOW VARIABLES LIKE 'secure_file_priv';,僅允許該目錄下操作
  • 不可覆蓋:導出檔案已存在會報錯,需先刪除或更名
  • 無法直接壓縮:需搭配管道 | gzip 或導出後壓縮
  • Windows 路徑:用正斜線 / 或雙反斜線 \\

四、實戰範例:cacti 資料庫遷移

# 導出
cd /usr/local/src
/usr/local/mysql/bin/mysqldump -uroot -p123456 cacti > cacti.sql

# 導入
/usr/local/mysql/bin/mysql -uroot -p
mysql> CREATE DATABASE cacti;
mysql> USE cacti;
mysql> SOURCE /usr/local/src/cacti.sql;

五、工具選型建議

場景推薦工具理由
日常備份、跨版本遷移、異構同步mysqldump通用性最強、支援 WHERE 過濾、壓縮、單表
單表千萬行+、同結構同機器/共享儲存LOAD DATA / OUTFILE速度最快、繞過 SQL 解析層
增量備份、PITRbinlog + mysqlbinlog精確到秒級恢復
物理備份、大實例xtrabackup / mydumper非阻塞、多線程、支援增量
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved