[MySQL] SqlServer 遷移到 MySQL 方法介紹


一、原則:

只遷移表結構和數據,存儲過程、函數、觸發器盡量自己改寫,並充分測試。

遷移前,先設置好數據庫的一些參數,比如默認存儲引擎,默認編碼等,方便后續導入。

 

二、方法:

1、使用MySQL Workbench

  MySQL Workbench提供了Migration Wizard(數據庫遷移)功能,支持MSSQL的數據形式轉換為MYSQL下的數據格式;

  具體參照這篇文章:http://mysqlworkbench.org/2012/07/migrating-from-ms-sql-server-to-mysql-using-workbench-migration-wizard/

  如果有Not enough memory to allocate insert buffer of size 1073741824,請行Google解決。可能是MySQL端max_allowed_packet、key_buffer_size大小設置的問題。

  博主的解決辦法是,在windows機器新建一個MySQL數據庫,作為中間導入庫。然后再在兩個MySQL庫間同步數據。

 

注意:

  1)看日志文件wb.log的報錯,復制結果以這個日志為准。

  2)source RMBMS 連接參數,Server填打開SSMS后,服務器屬性后面那個名稱(常規-名稱)。


2、使用Navicat Premium -- 本人推薦

  Navicate 提供了數據傳輸的功能,可以作為中間操作節點,將一個數據庫復制到另一個庫。

  操作簡單,常規界面選擇要同步的庫和表,高級界面去掉創建索引、勾上遇到錯誤繼續、其他基本默認即可。

  完成后注意看日志,如果有報錯沒有復制數據,請重新同步一下這些表,並在高級里勾上使用完整插入語句,

  這樣我們在日志里,可以看到SQL語句,手動執行插入和調試錯誤即可。有表沒同步,請手動建表。


三、后續操作:

  1、手動改寫存儲過程、函數和觸發器,並要經過程序充分測試檢驗。

  2、根據業務需求,添加合適的索引。

 

附:另外靠譜的兩種方法:https://www.percona.com/blog/2016/06/23/migrate-from-ms-sql-server-to-mysql/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM