標準流程(推薦)
- phpMyAdmin 導出 **UTF-8、INSERT 模式** 的
abc.sql。
scp/ftp 上傳至伺服器。
- SSH 登入伺服器。
mysql -u user -p 登入。
USE dbname;(或 CREATE DATABASE dbname CHARSET utf8mb4;)
SET NAMES utf8mb4; **關鍵:必須用 utf8mb4,不要用 utf8,否則 Emoji/生僻字截斷**。
SOURCE /path/to/abc.sql;
常見編碼錯誤
-- 錯誤
SET CHARACTER SET utf8; -- 等同 SET NAMES utf8,僅 3 字節
-- 正確
SET NAMES utf8mb4; -- 完整 4 字節支援
Windows 直接導入(不進入客戶端)
# 進入 bin 目錄
D:
cd mysql\bin
# 導入
mysql -u root -p123456 test < d:\a.sql
# root=用戶, 123456=密碼, test=資料庫, d:\a.sql=檔案路徑
Linux 直接導入
mysql -u root -p dbname < /path/to/dump.sql
# 系統 PATH 已含 mysql 指令
路徑寫法注意
- Windows:
SOURCE D:/data/backup.sql 或 SOURCE D:\\data\\backup.sql(正反斜線皆可)。
- Linux:
SOURCE /data/backup.sql。
SOURCE 為客戶端指令,**不可**用於管道 mysql < file。
大檔案導入優化
# 導入前調大參數
SET GLOBAL max_allowed_packet=1G;
SET GLOBAL net_buffer_length=1M;
SET GLOBAL innodb_buffer_pool_size=4G; -- 需重啟生效,建議改 my.cnf