前置條件
- 已安裝 SQL Server 客戶端工具(企業管理器)
- 已部署 MySQL 圖形管理工具 phpMyAdmin
- 網絡互通,具備對應數據庫讀寫權限
操作流程
第一階段:SQL Server 導出文本文件
- 打開「企業管理器」→「數據轉換服務」→「新建包」
- 在 DTS 設計器中配置「源連接」選擇 SQL Server 實例
- 配置「目標連接」選擇 Text File (Destination),指定輸出路徑
- 新建「轉換數據任務」,將源表映射到目標文本文件
- 執行包,完成後保存任務以備複用
- 重新運行任務,嚮導選擇「從源數據庫復制表和視圖」,將結構與數據同步導出
第二階段:MySQL 導入數據
- 在 phpMyAdmin 中按源表結構建立目標表
- 選中目標表 → 「從文本文件中提取數據插入到數據表」
- 配置字段分隔符、行結束符、字符集等參數,點擊「執行」導入
進階場景:結構不一致時的處理
- 先建立與文本文件結構完全一致的臨時表並導入數據
- 在 phpMyAdmin 導出該臨時表的「結構和數據」為 SQL 文件
- 使用文本編輯器批量替換表名、列名
- 在目標數據庫執行修改後的 SQL 腳本完成最終遷移
常見問題排查
- 編碼亂碼:確保導出文本文件編碼與 phpMyAdmin 導入設置一致(推薦 UTF-8)
- 主鍵衝突:導入前清空目標表或使用
REPLACE / INSERT IGNORE 模式
- 大數據量超時:分批導出導入,或調整 PHP
max_execution_time 和 MySQL max_allowed_packet
總結
利用 DTS + phpMyAdmin 實現零代碼異構遷移,適合中小數據量、結構相對固定的場景。大規模生產遷移建議使用專業 ETL 工具或 mysqldump + sed 腳本自動化處理。