之前在介紹MySQL Migration Toolkit時, 總是出現JAVA Loader啟始錯誤的問題, 後來再研究, 發現狀況出在我是用Windows 7旗艦版64位元版本, 而MySQL GUI Tools是32位元版本的軟體, 所以, 必需要用32位元版本的JRE, 不是64位元的JRE, 因此到JAVA下載官網http://www.java.com/zh_TW/download/manual.jsp把JRE檔案(檔名:jre-6u17-windows-i586-s.exe)下載後安裝, MySQL Migration Toolkit就能順利啟動了.
為了讓之後介紹MySQL的一些實務運用有更真實的資料庫可用, 我用Migration Toolkit把MS SQL Server的範例資料庫AdventureWorks搬到MySQL中, 由於Migration Toolkit的資料庫遷移的步驟相當多, 所以我分成二到三次來分享, 以免網頁中太多貼圖, 導到速度變慢..
從開始功能表執行MySQL Migration Toolkit, 出現如下圖示, 沒有JAVA Loader的錯誤訊息了...
Migration Toolkit視窗左邊將整個遷移的步驟用圖示的流程表現出來, 讓我們很容易的看出整個遷移的工作進行到那裏, 以及還有那些工作要進行, 按下右下角的[Next]開始進行資料庫遷移
首先要決定遷移的型式, 可以直接線上移遷, 或是排程遷移(Agent Based Migration). 線上遷移, 對有時間等在電腦面前一步一步做的人比較有幫助; 排程遷移就對需要進行大型資料
庫遷移工作者比較方便...一般來說, 在進行排程遷移時, 我我會先用線上遷移的方式做出一個Script File(遷移指令檔), 確定一切都OKOK, 再用排程遷移的方式用晚上或假日的時間來進行遷移. 此外, 用使用排程遷移, 一定要在MySQL Server上執行Agent功能...因為沒有執行Agent功能, 所以只能選擇直接遷移模式(如上圖)...按下[Next]
上圖是選擇來源資料庫的視窗, MySQL Migration Toolkit可接受的來源資料庫有:
1. MS Access
2. 可透過JDBC連線的資料庫系統
3. Oracle 9i/10g/11g
4. MS SQL Server 2000/2005/2008
5. Sybase Server
6. MaxDB Database Server
7. MySQL (這是一定要有的)
如上圖, 我是連到一個SQL Server 2005 Express Edition的資料庫, 主機是給IP: 192.168.11.21(其實是一個XP Mode), 而在該SQL Server上可以用來遷移的資料庫有AdvensureWorks等多個資料庫, 我這次只選擇AdventureWorks來進行遷移, 按[Next]
接下來是設定目標資料庫系統主機, 如上圖, 我是用本機(即Windows 7旗艦版), 設置好遷移目標主機後, 按[Next]
接著, Migration Toolkit開始對來源資料庫系統及指定要遷移的資料庫的可用性, 和目標資料庫系統的連線等進行測試, 測試的過程會出現在上圖視窗的下半部的Log中, 這個Log子視窗要按下[<<Advanced]按鍵才會出現....檢查Log中的說明, 是否全部測試都完成、連線均正常, 若有出現不正常, 請回上幾步檢查...若一切連線顯示正常, 再按[Next]
這個圖示是顯示MySQL Migration Toolkit在SQL Server的AdventureWorks找到的資料庫, 由於SQL Server 2005引進Schema的觀念, 而MySQL是把Schema當做資料庫, 所以各位會看到如上圖的六個"資料庫"的圖示, 每一個資料庫代表一個Schema...由左到右分別是.dbo、.HumanResources、.Person、.Product、.Purchasing、.Sales等六個...也就是說在SQL Server 2005中是一個資料庫六個Schema的規劃, 到了MySQL中是六個"資料庫"...選好要遷移的Schema...我是六個都選了...按[Next]
接著是MySQL進行反向工程的部份, 就是分析SQL Server 2005的AdventureWorks資料庫的結構, 把包括資料表(Tables)、檢視表(Views)、索引(Indexes)及Stroed Procedures、Functions、Triggers等等, 都做個分析...在上圖的下半部有個Log視窗, 可以按[<<Advanced]來顯示這個Log視窗, 檢查其中所有訊息, 確定MySQL能夠將大多數的物件反向工程...其實反向工程的結果就是一大堆SQL指令, 在稍後的視窗中我們會看到...
今天, 對於MySQL Migration Toolkit的分享, 就先介紹這裏了...