掌握 MySQL 資料庫的匯入與匯出操作,是資料庫管理員與開發人員的基本功。本文系統整理了命令列、圖形介面與直接複製檔案三種主要方式,並詳細說明各類進階參數的使用場景,助你靈活應對備份、遷移與還原需求。
使用 mysqldump 工具是最常見、最通用的匯出方式。
bin 資料夾,或將該路徑加入系統環境變數 PATH 中。mysqldump -u 用戶名 -p 資料庫名 > 匯出檔案名.sqlmysqldump -u root -p news > news.sql(執行後需輸入密碼)匯出完成後,.sql 檔案會自動生成在 bin 目錄下。
.sql 檔案放入 bin 目錄(或指定完整路徑)。mysql -u 用戶名 -pCREATE DATABASE 目標資料庫名;USE 目標資料庫名;SOURCE 匯入檔案名.sql;| 需求 | 指令範例 | 說明 |
|---|---|---|
| 匯出所有資料庫 | mysqldump -u root -p -A > all_dbs.sql | 包含所有資料庫結構與資料 |
| 僅匯出資料(無結構) | mysqldump -u root -p -t db_name > data_only.sql | 適用於資料遷移至相同結構的資料庫 |
| 匯出 Events | mysqldump -u root -p -E db_name > events.sql | 需 MySQL 5.1+ 支援 |
| 匯出存儲過程與函數 | mysqldump -u root -p -R db_name > routines.sql | 預設不包含,需顯式指定 -R |
| 直接匯入 SQL 檔 | mysql -u root -p < backup.sql | 非互動式匯入,適合腳本自動化 |
適合不熟悉命令列或需視覺化操作的用戶。
upload_max_filesize 等參數影響)。gzip 壓縮:gzip backup.sql 產生 backup.sql.gz 再上傳。適用於資料量極大、停機維護窗口允許的場景。
/var/lib/mysql/)打包:tar czf mydb.tar.gz mydb/chown -R mysql:mysql /var/lib/mysql/mydb/chmod -R 660 /var/lib/mysql/mydb/警告:不同作業系統、MySQL 版本之間直接複製檔案可能不相容,生產環境強烈建議優先使用 SQL 腳本方式。
mysqldump + 定時任務 + 異地儲存。utf8mb4)。