使用匯入和匯出移轉您的 MySQL 資料庫

適用於:適用於 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 資料庫的 [概觀] 窗格上尋找連線資訊。

    螢幕擷取畫面:Azure 入口網站中適用於 MySQL 的 Azure 資料庫伺服器連線資訊。

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

    螢幕擷取畫面:MySQL Workbench 連接字串。

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

提示

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

在下列案例中,使用 MySQL 工具對您的 MySQL 資料庫匯入和匯出資料庫。 如需其他工具,請移至 MySQL 至 Azure 資料庫移轉指南的 [移轉方法] 區段 (第 22 頁)。

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

重要

單一伺服器和彈性伺服器都僅支援 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 單一伺服器或彈性伺服器的連線,請執行下列動作:

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

從物件瀏覽器捷徑功能表執行資料表資料匯出與匯入精靈

螢幕擷取畫面:MySQL Workbench 匯出和匯入精靈命令,而這些命令位於物件瀏覽器的捷徑功能表上。

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

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

資料表資料匯出精靈

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

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

資料表資料匯入精靈

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

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

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

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

匯出資料

螢幕擷取畫面:使用 [導覽器] 窗格顯示 MySQL Workbench 中 [資料匯出] 窗格。

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

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

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

    您可以針對每個結構描述選取要匯出的特定結構描述物件或資料表。 設定選項包含匯出到專案資料夾或自封式 SQL 檔案、傾印儲存的常式和事件,或略過資料表資料。

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

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

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

  5. 您可以選擇性地選取右上方的 [進階選項],以精簡匯出作業。 例如,新增資料表鎖定、使用 replace 而不是 insert 陳述式,以及使用反引號字元將識別項括起來。

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

匯入資料

螢幕擷取畫面:使用 [導覽器] 窗格顯示 MySQL Workbench 中 [資料匯入] 窗格。

您可以使用 [資料匯入] 窗格,匯入或還原來自資料匯出作業或是來自 mysqldump 命令的已匯出資料。

  1. 在 MySQL Workbench 的 [ 導覽器 ] 窗格中,選取 [資料匯入/還原]。
  2. 選取專案資料夾或自封式 SQL 檔案、選取將匯入的結構描述,或選取 [新增] 按鈕來定義新的結構描述。
  3. 選取 [開始匯入] 開始匯入程序。

下一步