遷移核心原則
導出「資料表」而非整個資料庫,並在目標端先建立指定字元集的資料庫,避免預設 latin1 導致中文亂碼。
操作步驟
1. 來源端(MySQL 4.0)導出
- phpMyAdmin → 選擇資料庫 → 「匯出」
- 勾選「zip 壓縮」或「gzip 壓縮」減小體積
- 格式:SQL,相容性:MYSQL40

2. 目標端(MySQL 5.x)建庫
- phpMyAdmin → 新增資料庫
- 編碼明確選 utf8(或 utf8mb4)
- 不要使用預設編碼

3. 匯入設定關鍵點
- 字元集:utf8
- SQL 相容性模式:MYSQL40

若必須整庫遷移
修改 my.ini/my.cnf:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
character-set-server=utf8
重啟 MySQL 服務後再整庫匯入。
常見坑點
- 匯出整庫 → 目標庫無編碼聲明 → 全部變 latin1 → 亂碼難修
- 未勾選 MYSQL40 相容性 → 4.0 特有語法在 5.x 報錯
- 大檔案未壓縮 → 上傳逾時或中斷
驗證遷移結果
SELECT * FROM 表名 WHERE 中文欄位 LIKE '%中文%' LIMIT 10;
確認中文顯示正常、筆數一致、索引完整。