前段時間 嘗試進行sqlserver數據庫移植到mysql數據庫
方案是 perl語言讀取sqlserver 作相應的類型轉換數據處理後 寫入mysql
兩個執行端和一個接收端
最終達到的速度是一千萬級條數的表 大概5分鐘內導入完畢 其中解決了亂碼等問題
3G大小的數據庫耗時半個小時
15G的耗時5個小時
整個流程如下:
首先是環境的配置和插件的安裝。
首先是接收端
在一台linux系統的機子中
安裝mysql
如果有地理坐標字段geo的話 mysql要用5.5以上的版本才行
CentOS6.4安裝mysql5.6.14
然後 布置 執行端(可以在另外一台linux系統的機子上安裝,也可以在裝了mysql上的機子上安裝)
因為這裡我們會把數據庫的表分成幾份來跑數據,所以 如果在sqlserver的讀取和網速的瓶頸之內,執行端機子越多,速度越快。
CentOS安裝perl
Perl安裝DBDmysql操作mysql數據庫
perl通過unixODBC連接SQLServer
最後安裝handlersocket (因為handlersocket在接收端的機子和執行端的機子上都有安裝步驟)
HandlerSocket簡介及安裝及卸載