首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

SQLyog 遷移 SQL Server 到 MySQL 完整圖文教程:ODBC 數據源配置、表結構映射與數據導入實戰

     編輯:MySQL 綜合教學

遷移場景與工具選型

需將 SQL Server 資料庫遷移至 MySQL。選用 **SQLyog** (Windows GUI 工具) 內建「導入外部數據向導」,支援 ODBC 異構數據源同步。

前置準備

  1. 安裝 SQLyog (企業版/社區版均可)
  2. SQL Server 端:確認目標表結構、數據量、主鍵/索引定義
  3. MySQL 端:建立目標資料庫,確保字符集 utf8mb4
  4. 安裝 **SQL Server ODBC 驅動** (Microsoft ODBC Driver for SQL Server,版本匹配 SQL Server 版本)

步驟一:建立 SQL Server ODBC 系統數據源 (關鍵)

  1. Windows 控制面板 → 管理工具 → **ODBC 數據源 (64位)** / (32位,匹配 SQLyog 位數)
  2. 「系統 DSN」頁籤 → 「新增」 → 選擇 **ODBC Driver for SQL Server**
  3. 配置連接:
    • 名稱:SQLServer_Source
    • 描述:遷移源數據庫
    • 伺服器:IP 或 主機名\實例名
    • 認證:SQL Server 驗證 / Windows 驗證
    • 預設資料庫:選擇目標庫
  4. 「測試數據源」→ 成功才可進行下一步

步驟二:SQLyog 目標端連接 MySQL

新建連接 → 輸入 MySQL 主機/埠/用戶/密碼/資料庫 → 測試成功 → 連接。

步驟三:啟動「導入外部數據向導」

  1. 工具欄 → **工具** → **導入外部數據** (或 Ctrl+Shift+I)
  2. 「新建作業」→ 資料源類型選 **ODBC** → 選擇步驟一建立的 SQLServer_Source
  3. 目標資料庫:選擇已連接的 MySQL 連接

步驟四:表映射與結構同步 (核心)

  1. 向導列出源端所有表,**勾選需遷移的表**
  2. **關鍵操作**:「目標表」欄可選擇:
    • 現有表:追加數據 (需結構兼容)
    • 新建表:SQLyog 自動根據源表結構生成 CREATE TABLE,**建議首選**
  3. 類型映射自動處理:
    NVARCHAR → VARCHAR, DATETIME → DATETIME, BIT → TINYINT, UNIQUEIDENTIFIER → CHAR(36) 等
  4. 主鍵、索引、自增屬性**自動同步** (驗證無誤後執行)

步驟五:執行導入與驗證

  1. 「下一步」→ 確認配置摘要 → 「完成」開始導入
  2. 進度條顯示各表導入狀態:結構建立 → 數據分批寫入 → 索引建立
  3. 導入完成報告:成功行數、錯誤日誌 (如有)

驗證清單


-- 1. 行數對比
SELECT COUNT(*) FROM sqlserver_db.target_table;
SELECT COUNT(*) FROM mysql_db.target_table;

-- 2. 關鍵業務欄位抽樣核對
SELECT * FROM mysql_db.target_table LIMIT 10;

-- 3. 索引/主鍵/外鍵完整性
SHOW CREATE TABLE mysql_db.target_table\G
SHOW INDEX FROM mysql_db.target_table\G

-- 4. 字符集正確性
SELECT CHARSET(column_name), COLLATION(column_name) FROM information_schema.columns WHERE table_schema='mysql_db' AND table_name='target_table';

大數據量優化建議 (>100萬行/表)

  • 分批提交:SQLyog 選項中調整「批次大小」 (默認 1000,可改 5000-10000)
  • 禁用索引後重建:目標表先 DROP INDEX,導入完成後 CREATE INDEX,避免逐行索引維護開銷
  • 關閉 Binlog 臨時導入:SET SESSION sql_log_bin = 0; (需 SUPER 權限),避免產生巨量 Binlog
  • 並行導入:多表可開多個 SQLyog 實例並行 (注意連接數限制)

替代方案對比

工具優點缺點適用場景
SQLyogGUI 直觀、類型自動映射、支援 ODBC 異構Windows only、大表速度一般中小遷移、一次性任務
mysqlworkbench Migration Wizard跨平台、官方工具、支援逆向工程配置複雜、ODBC 依賴同樣Linux/Mac 環境
SSIS / Data Factory企業級 ETL、調度、監控、增量學習曲線陡峭、授權成本持續同步、數據倉庫
自建腳本 (bcp + LOAD DATA)極速、可控、無 GUI 依賴需手工處理類型映射、字符集TB 級大表、自動化流水線

總結: SQLyog 圖形化遷移適合**中小型、一次性、異構**場景。核心成敗在於 **ODBC 驅動版本匹配**、**類型映射驗證**、**大表索引策略**。生產遷移必先測試環境全流程演練、制定回滾方案、業務停寫窗口執行。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved