MySQL Workbench 手冊  /  ...  /  資料庫移轉視覺指南

10.2.1 資料庫移轉視覺指南

此範例會將 Microsoft SQL Server 資料庫移轉至 MySQL,並包含每個步驟的影像。

從 MySQL Workbench 中,選擇 資料庫,然後選擇 移轉,以開啟移轉精靈並顯示移轉精靈的概述 (請參閱下圖)。

概述

圖 10.2 MySQL Workbench 移轉:概述

Content is described in the surrounding text.

其中說明在繼續下一步之前應先瞭解的先決條件與需求。 開啟 ODBC 管理員選項會載入 odbcad32.exe,並用於確認是否已安裝 SQL Server 的 ODBC 驅動程式,以及在需要時進行組態變更。

按一下 開始移轉以繼續。

來源選取

選取要移轉至 MySQL 的來源 RDBMS。選擇要移轉的 資料庫系統,其他連線參數將會隨之變更。下圖顯示連線工作階段的範例。

圖 10.3 MySQL Workbench 移轉:來源選取 (參數)

Content is described in the surrounding text.

目標選取

目標是要包含新移轉資料庫的 MySQL 資料庫 (請參閱下圖)。目前 Workbench MySQL 連線將會在此處可用,或者您可以選擇 管理 DB 連線以建立新的連線。

圖 10.4 MySQL Workbench 移轉:目標選取

Content is described in the surrounding text.

擷取結構描述清單

從來源和目標 RDBMS 擷取結構描述清單 (請參閱下圖)。這是自動化且提供資訊的步驟,可報告連線相關錯誤和/或一般記錄資訊。按一下 下一步以繼續。

圖 10.5 MySQL Workbench 移轉:擷取結構描述清單

Content is described in the surrounding text.

結構描述選取

選擇您想要移轉的結構描述。

移轉 Microsoft SQL Server 時的「結構描述名稱對應方法」選項

  • 保持結構描述不變:Catalog.Schema.Table -> Schema.Table:這將會建立多個資料庫,每個結構描述一個資料庫。

  • 只有一個結構描述:Catalog.Schema.Table -> Catalog.Table:將每個結構描述合併到單一資料庫中。下圖顯示此對應方法的範例。

  • 只有一個結構描述,將目前的結構描述名稱保留為前置詞:Catalog.Schema.Table -> Catalog.Schema_table:將結構描述名稱保留為前置詞。

圖 10.6 MySQL Workbench 移轉:結構描述選取

Content is described in the surrounding text.

反向工程來源

從來源 RDBMS 擷取來源中繼資料,然後進行反向工程。這是自動化且提供資訊的步驟,可報告相關錯誤、一般記錄資訊或兩者皆有 (請參閱下圖)。檢視記錄,然後按一下 下一步以繼續。

圖 10.7 MySQL Workbench 移轉:反向工程來源

Content is described in the surrounding text.

來源物件

顯示在 反向工程來源階段中探索到的物件,並使其可用。如下圖所示,結果包含「表格」、「檢視」和「常式」物件,預設僅選取「表格」物件。

圖 10.8 MySQL Workbench 移轉:來源物件

Content is described in the surrounding text.

移轉

移轉程序現在會將選取的物件轉換為 MySQL 相容的物件 (請參閱下圖)。檢視記錄,然後繼續。

圖 10.9 MySQL Workbench 移轉:移轉

Content is described in the surrounding text.

手動編輯

有三個區段可供編輯,可使用右上角的 檢視選取方塊選取。每個檢視都有 顯示程式碼和訊息按鈕,且會顯示與選取物件對應的產生的 MySQL 程式碼。

  • 移轉問題:這會回報問題或顯示「找不到任何對應問題」。這是提供資訊的畫面。下圖顯示此類型訊息的範例。

    圖 10.10 MySQL Workbench 移轉:手動編輯 (移轉問題)

    Content is described in the surrounding text.

  • 所有物件:物件檢視,可讓您檢視和編輯物件定義。按兩下資料列以修改目標物件的名稱。下圖顯示此類型訊息的範例。

    圖 10.11 MySQL Workbench 移轉:手動編輯 (所有物件)

    Content is described in the surrounding text.

  • 資料行對應:顯示所有資料表資料行對應,並可讓您個別檢閱和修正所有資料行類型、預設值和其他屬性的對應。下圖顯示此類型訊息的範例。

    圖 10.12 MySQL Workbench 移轉:手動編輯 (資料行對應)

    Content is described in the surrounding text.

目標建立選項

可以藉由將結構描述新增至目標 RDBMS、建立 SQL 指令檔,或兩者皆有,來建立結構描述。下圖顯示目標建立選項。

圖 10.13 MySQL Workbench 移轉:目標建立選項

Content is described in the surrounding text.

建立結構描述

現在已建立結構描述 (請參閱下圖)。完整記錄也會在此處提供。

圖 10.14 MySQL Workbench 移轉:建立結構描述

Content is described in the surrounding text.

建立目標結果

下圖列出此範例中產生的物件,以及任何存在的錯誤訊息。

移轉程式碼也可以在此處檢視和編輯。若要進行變更,請選取物件、編輯查詢程式碼,然後按一下 套用。針對要編輯的每個物件重複此程序。最後,按一下 重新建立物件以儲存結果。

注意

必須執行 重新建立物件操作,才能在此處儲存任何變更。接著,它會使用修改過的程式碼執行先前的移轉步驟 (建立結構描述),然後繼續移轉程序。這也表示先前儲存的結構描述將會被捨棄。

圖 10.15 MySQL Workbench 移轉:建立目標結果

Content is described in the surrounding text.

資料傳輸設定

下一個步驟會將資料從來源 RDBMS 傳輸到目標 MySQL 資料庫。設定畫面包含下列選項

資料複製:

  • 將表格資料線上複製到目標 RDBMS:此方法 (預設) 會將資料複製到目標 RDBMS。

  • 建立批次檔以在稍後複製資料:資料也可以傾印到檔案,稍後再執行,或用作備份。此指令碼會使用 MySQL 連線來傳輸資料。

  • 建立 shell 指令碼,以使用原生伺服器傾印與載入功能進行快速移轉:與執行即時線上複製的簡單批次檔不同,此選項會產生在 來源 主機上執行的指令碼,然後產生包含所有資料與在本機於目標主機上移轉資料所需資訊的 Zip 檔案。在目標主機上複製並解壓縮產生的 Zip 檔案,然後執行匯入指令碼 (在目標主機上),以使用 LOAD DATA 呼叫將資料匯入 MySQL。

    此更快速的方法避免了透過 MySQL Workbench 傳輸所有資料,或在 MySQL 伺服器之間具有永久網路連線的需求。

    注意

    此選項是在 MySQL Workbench 6.3.0 中新增的。

選項 (如需範例,請參閱下圖)

  • 在複製資料前截斷目標資料表:若目標資料庫已存在,則會刪除上述資料。

  • 工作執行緒:預設值為 2。這是複製資料時使用的工作執行緒 (資料庫連線) 數目。

  • 啟用表格複製的偵錯輸出:顯示偵錯資訊。

圖 10.16 MySQL Workbench 移轉:資料傳輸設定

Content is described in the surrounding text.

大量資料傳輸

根據選取的選項,這會將資料傳輸到目標 RDBMS (預設)、產生線上資料傳輸的簡單指令碼,或產生在來源主機上執行的指令碼,然後產生包含將在目標主機上執行的傳輸指令碼和資料的 Zip 檔案。或者,檢視記錄以進行確認 (請參閱下圖)。

圖 10.17 MySQL Workbench 移轉:大量資料傳輸

Content is described in the surrounding text.

移轉報告

最後,移轉報告可用,並摘要說明整個移轉程序,如下圖所示。

圖 10.18 MySQL Workbench 移轉:移轉報告

Content is described in the surrounding text.

按一下 完成將會關閉移轉視窗。如果您選擇線上複製,則現在可以在 MySQL Workbench SQL 編輯器中檢視資料庫,如下圖所示。

圖 10.19 MySQL Workbench 移轉:檢視移轉的資料庫

Content is described in the surrounding text.

注意

如果已開啟 MySQL Workbench SQL 編輯器索引標籤,則必須重新整理物件瀏覽器中的結構描述清單,才能檢視新匯入的結構描述。