# 進入 MySQL bin 目錄後執行
mysql -u username -p database_name < filepath.sql
# 無需指定資料庫,直接導入
mysql -u root -p < /path/to/backup.sql
# Windows 範例
mysql -u root -p < D:\backup\full_backup.sql
檔案內容通常以 CREATE DATABASE db_name; USE db_name; 開頭。
# 必須先建好目標資料庫,再指定導入
mysql -u root -p target_db < /path/to/dump.sql
# Windows 範例
mysql -u root -p mydb < D:\backup\mydb_tables.sql
| 參數 | 用途 |
|---|---|
-h host | 指定遠端主機(預設 localhost) |
-P port | 指定埠號(預設 3306) |
--default-character-set=utf8mb4 | 強制設定連線字符集,防止亂碼 |
--force | 遇錯繼續執行(慎用) |
-v | 顯示執行進度 |
--max_allowed_packet=1G | 超大檔案導入必加,防止包過大中斷 |
# Linux/macOS
mysql -h 127.0.0.1 -P 3306 -u root -p \
--default-character-set=utf8mb4 \
--max_allowed_packet=1G \
my_database < /backups/20240115_full.sql
# Windows PowerShell
mysql -h 127.0.0.1 -P 3306 -u root -p `
--default-character-set=utf8mb4 `
--max_allowed_packet=1G `
my_database < D:\backups\20240115_full.sql
CREATE/INSERT 權限CREATE DATABASE target_db CHARACTER SET utf8mb4;max_allowed_packet 並檢查 wait_timeoutALTER TABLE t DISABLE KEYS; 導入後 ENABLE KEYS;SET FOREIGN_KEY_CHECKS=0;LOAD DATA INFILE 替代 INSERT