ms SQLServer 2005移植到mysql

最近有個項目需要從asp+sqlserver2005轉成php+mysql,除了代碼方面要修改,當然還涉及到數據庫的修改遷移問題。


已經有了原數據庫以及數據內容,如何遷移到mysql呢?最基本的當然是一個一個的導出重建,但是如果數據庫不是很簡單的幾個表,那麼這手工工作也是相當繁雜。在網絡上搜索了一通,各種做法的都有,但是最直接有效最簡單的,應該還是用oracle公司的原廠工具。之前下了一個微軟的MYSQL migration tool, 後來察覺好像這個工具只可以從mysql轉到sqlserver的,不能反向,繼續搜索。最終找了一個帖子,介紹mysql的數據庫遷移工具,得知現已嵌入到mysql workbench裏面,果斷的下載了最新版本的mysql workbench。


找到database菜單,有一個migration wizard, 很顯然就是這個了。打開了一看,也挺簡單的,開始準備連數據庫。結果發現測試的sqlserver2005怎麼也連不上,開始telnet端口,端口居然也不通。開始還以爲是運營商封了端口,找運營商,直接說sqlserver2005不對外連接,自己解決(第一次用,很不熟)。又開始整sqlserver2005對外開放連接的問題,開通TCP/IP跟namepipes,還是不行,針對這個問題已折騰了一整天,還是沒解決好。想放棄這個做法,變通一下,把workbench裝到sqlserver本地,連接我本地的mysql(這個方法是可行的)。堅持總是有回報的,在打算放棄的時候,嘗試了一下TCP/IP的動態端口,結果發現端口通了(之前一直使用1433端口,本機會通,外界無論怎麼telnet都是不通)。於是開始嘗試用workbench連接源數據庫(sqlserver2005),整了一通,發現都整不好,終於找到了一篇官方的圖文說明,按照這個說明做下去,一點問題都沒有。


http://mysqlworkbench.org/2012/07/migrating-from-ms-sql-server-to-mysql-using-workbench-migration-wizard/


在連接sqlserver2005的源數據庫時,採用的數據庫引擎,軟件默認的是SQL SERVER,參考文章裏面用的是要native client 的,我就是根據這個修改才連接成功的。


根據文章的步驟一步一步的next,完全沒有任何問題,過程中出現了一些警告,是因爲源數據庫是GBK編碼,而後來的數據庫是utf8編碼,記錄集內容轉換有點問題。但是由於我的數據量不大,對我沒什麼影響。


PS: 數據庫轉換前後的schema名稱是一致的,轉換過程很多地方都可以修改sql語句,有需求的可以在過程中修改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章