移轉您的適用於 MySQL 的 Azure 資料庫 - 彈性伺服器資料庫,方法是使用匯入和匯出

適用于: 適用於 MySQL 的 Azure 資料庫 - 單一伺服器 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器

重要

適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱 適用於 MySQL 的 Azure 資料庫單一伺服器會發生什麼事?

本文說明使用 MySQL Workbench 將資料匯入和匯出至適用於 MySQL 的 Azure 資料庫彈性伺服器實例的兩種常見方法。

如需詳細且完整的移轉指引,請參閱 移轉指南資源

如需其他移轉案例,請參閱 資料庫移轉指南

必要條件

開始移轉 MySQL 資料庫之前,您需要:

在適用於 MySQL 的 Azure 資料庫彈性伺服器實例上建立資料庫

使用 MySQL Workbench、Toad 或 Navicat,在適用於 MySQL 的 Azure 資料庫彈性伺服器實例上建立空白資料庫。 資料庫的名稱可以與包含傾印資料的資料庫相同,或者您可以建立名稱不同的資料庫。

若要連線,請執行下列動作:

  1. 在Azure 入口網站中,在適用於 MySQL 的 Azure 資料庫彈性伺服器實例的 [概觀] 窗格中尋找連線資訊

    Screenshot of the Azure Database for MySQL flexible server instance connection information in the Azure portal.

  2. 將連線資訊新增至 MySQL Workbench。

    Screenshot of the MySQL Workbench connection string.

判斷何時使用匯入和匯出技術

提示

如果您想要傾印和還原整個資料庫的案例,請改用 傾印和還原 方法。

在下列案例中,使用 MySQL 工具將資料庫匯入和匯出至 MySQL 資料庫。 如需其他工具,請移至 MySQL 至 Azure 資料庫移轉指南 一節(第 22 頁)。

  • 當您需要選擇性地選擇幾個資料表,以從現有的 MySQL 資料庫匯入至適用於 MySQL 的 Azure 資料庫彈性伺服器資料庫時,最好使用匯入和匯出技術。 如此一來,您可以從移轉省略任何不需要的資料表,以節省時間和資源。 例如,使用 --include-tables 或 參數搭配 mysqlpump ,並使用 --tables mysqldump 參數。 --exclude-tables
  • 當您移動資料表以外的資料庫物件時,請明確建立這些物件。 包含條件約束(主鍵、外鍵和索引)、檢視、函式、程式、觸發程式和您想要移轉的任何其他資料庫物件。
  • 當您從 MySQL 資料庫以外的外部資料源移轉資料時,請建立一般檔案,並使用 mysqlimport 加以匯入。

重要

適用於 MySQL 的 Azure 資料庫單一伺服器和適用於 MySQL 的 Azure 資料庫彈性伺服器僅支援 InnoDB 儲存引擎。 當您將資料載入適用於 MySQL 的 Azure 資料庫彈性伺服器實例時,請確定資料庫中的所有資料表都會使用 InnoDB 儲存引擎。

如果您的源資料庫使用另一個儲存引擎,請在移轉資料庫之前,先轉換為 InnoDB 引擎。 例如,如果您有使用 MyISAM 引擎的 WordPress 或 Web 應用程式,請先將資料移轉至 InnoDB 資料表來轉換資料表。 使用 子句 ENGINE=INNODB 來設定引擎來建立資料表,然後在移轉之前將資料傳輸到相容的資料表。

INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns

匯入和匯出的效能建議

為了獲得最佳的資料匯入和匯出效能,建議您執行下列動作:

  • 在您載入資料之前,請先建立叢集索引和主鍵。 依主鍵順序載入資料。
  • 延遲建立次要索引,直到載入資料之後。
  • 在載入資料之前,請先停用外鍵條件約束。 停用外鍵檢查可提供顯著的效能提升。 啟用條件約束,並在載入之後驗證資料,以確保參考完整性。
  • 平行載入資料。 請避免太多平行處理原則,導致您達到資源限制,並使用Azure 入口網站中可用的計量來監視資源。
  • 適當時,請使用資料分割資料表。

使用 MySQL Workbench 匯入和匯出資料

在 MySQL Workbench 中匯出和匯入資料的方式有兩種:從物件瀏覽器操作功能表或從 [導覽器] 窗格匯出和匯入資料。 每個方法都有不同的用途。

注意

如果您要在 MySQL Workbench 上將連線新增至適用於 MySQL 的 Azure 資料庫單一伺服器或適用於 MySQL 的 Azure 資料庫彈性伺服器,請執行下列動作:

  • 針對適用於 MySQL 的 Azure 資料庫單一伺服器,請確定使用者名稱的格式 為 username@servername > 。 <
  • 若為適用於 MySQL 的 Azure 資料庫彈性伺服器,請只使用 使用者名稱 > 。 < 如果您使用 < username@servername > 連線,連線將會失敗。

從物件瀏覽器操作功能表執行資料表資料匯出和匯入精靈

Screenshot of the MySQL Workbench export and import wizard commands on the object browser's context menu.

資料表資料精靈支援使用 CSV 和 JSON 檔案匯入和匯出作業。 精靈包含數個組態選項,例如分隔符號、資料行選取和編碼選取。 您可以針對本機或遠端連線的 MySQL 伺服器執行每個精靈。 匯入動作包括資料表、資料行和類型對應。

若要從物件瀏覽器操作功能表存取這些精靈,請以滑鼠右鍵按一下資料表,然後選取 [資料表資料匯出精靈] 或 [ 資料表資料匯入精靈 ]。

資料表資料匯出精靈

若要將資料表匯出至 CSV 檔案:

  1. 以滑鼠右鍵按一下要匯出之資料庫的資料表。
  2. 選取 [ 資料表資料匯出精靈 ]。 選取要匯出的資料行、資料列位移(如果有的話),以及計數(如果有的話)。
  3. 在 [ 選取匯出 的資料] 窗格上,選取 [ 下一步 ]。 選取檔案路徑、CSV 或 JSON 檔案類型。 同時選取行分隔符號、封入字串的方法,以及欄位分隔符號。
  4. 在 [ 選取輸出檔案位置 ] 窗格上,選取 [ 下一步 ]。
  5. 在 [ 匯出資料 ] 窗格中,選取 [ 下一步 ]。

資料表資料匯入精靈

若要從 CSV 檔案匯入資料表:

  1. 以滑鼠右鍵按一下要匯入之資料庫的資料表。
  2. 尋找並選取要匯入的 CSV 檔案,然後選取 [ 下一步 ]。
  3. 選取目的地資料表 (新增或現有),選取或清除 [匯 入前截斷資料表] 核取方塊,然後選取 [ 下一步 ]。
  4. 選取要匯入的編碼和資料行,然後選取 [ 下一步 ]。
  5. 在 [匯 入資料] 窗格中,選取 [ 下一步 ]。 精靈會匯入資料。

從 [導覽器] 窗格執行 SQL 資料匯出和匯入精靈

使用精靈匯出或匯入從 MySQL Workbench 或 mysqldump 命令產生的 SQL 資料。 您可以從 [導覽器] 窗格存取精靈 ,也可以從主功能表中選取 [伺服器 ]。

匯出資料

Screenshot of using the Navigator pane to display the Data Export pane in MySQL Workbench.

您可以使用 [ 資料匯出 ] 窗格來匯出 MySQL 資料。

  1. 在 MySQL Workbench 的 [導覽器 ] 窗格中,選取 [資料匯出 ]。

  2. 在 [ 資料匯出 ] 窗格中,選取您想要匯出的每個架構。

    針對每個架構,您可以選取要匯出的特定架構物件或資料表。 組態選項包括匯出至專案資料夾或獨立的 SQL 檔案、傾印預存常式和事件,或略過資料表資料。

    或者,使用 [匯出結果集 ] 將 SQL 編輯器中的特定結果集匯出為另一種格式,例如 CSV、JSON、HTML 和 XML。

  3. 選取要匯出的資料庫物件,並設定相關的選項。

  4. 選取 [ 重新整理 ] 以載入目前的物件。

  5. 您可以選擇性地選取 右上方的 [進階選項 ],以精簡匯出作業。 例如,新增資料表鎖定、使用 replace 而非 insert 語句,以及具有反引號字元的引號識別碼。

  6. 選取 [ 開始匯出 ] 以開始匯出程式。

匯入資料

Screenshot of using the Navigator pane to display the Data Import pane in MySQL Workbench.

您可以使用 [ 資料匯 入] 窗格,從資料匯出工作或 mysqldump 命令匯入或還原匯出的資料。

  1. 在 MySQL Workbench 的 [ 導覽器 ] 窗格中,選取 [資料匯入/還原 ]。
  2. 選取專案資料夾或獨立 SQL 檔案、選取要匯入的架構,或選取 [新增 ] 按鈕來定義新的架構。
  3. 選取 [ 開始匯 入] 以開始匯入程式。

下一步

  • 如需另一種移轉方法,請參閱 使用傾印和還原 將您的 MySQL 資料庫移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器。
  • 如需將資料庫移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱 資料庫移轉指南