使用匯入和匯出功能,移轉適用於 MySQL 的 Azure 資料庫 - 彈性伺服器資料庫
適用於:適用於 MySQL 的 Azure 資料庫 - 單一伺服器適用於 MySQL 的 Azure 資料庫 - 彈性伺服器
重要
適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫單一伺服器會發生什麼事?
本文說明使用 MySQL Workbench 將資料匯入和匯出適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的兩種常見方式。
如需詳細的完整移轉指引,請參閱移轉指南資源。
如需其他移轉案例,請參閱資料庫移轉指南。
必要條件
開始移轉 MySQL 資料庫前,您必須:
- 使用 Azure 入口網站建立適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體。
- 下載並安裝 MySQL Workbench 或其他第三方 MySQL 工具來執行匯入和匯出。
在適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體上建立資料庫
使用 MySQL Workbench、Toad 或 Navicat,在適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體上建立空的資料庫。 資料庫名稱可以與包含傾印資料的資料庫名稱相同,或者您可以建立名稱不同的資料庫。
若要連線,請執行下列動作:
在 Azure 入口網站中,從適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的 [概觀] 窗格上尋找連線資訊。
將連線資訊新增至 MySQL Workbench。
判斷何時要使用匯入和匯出技術
提示
如果您想要傾印和還原整個資料庫,請改用傾印和還原方法。
在下列案例中,使用 MySQL 工具對您的 MySQL 資料庫匯入和匯出資料庫。 如需其他工具,請移至 MySQL 至 Azure 資料庫移轉指南的 [移轉方法] 區段 (第 22 頁)。
- 當您需要選擇性地選擇從現有 MySQL 資料庫匯入至適用於 MySQL 的 Azure 資料庫彈性伺服器資料庫的一些資料表時,最好使用匯入和匯出技術。 如此一來,您可以從移轉省略任何不必要的資料表,以節省時間和資源。 例如,搭配使用
--include-tables
或--exclude-tables
參數與 mysqlpump 以及搭配使用--tables
參數與 mysqldump。 - 移動資料表以外的資料庫物件時,明確建立這些物件。 包含限制式 (主索引鍵、外部索引鍵和索引)、檢視、函式、程序、觸發程序和其他您想要移轉的資料庫物件。
- 當您從 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>。 如果您使用 <username@servername> 進行連線,連線將會失敗。
從物件瀏覽器捷徑功能表執行資料表資料匯出與匯入精靈
資料表資料精靈支援使用 CSV 和 JSON 檔案的匯入和匯出作業。 精靈包含數個設定選項,例如分隔符號、資料行選取和編碼選取項目。 您可以對本機或遠端連線的 MySQL 伺服器執行每個精靈。 匯入動作包括資料表、資料行和類型對應。
若要從物件瀏覽器捷徑功能表存取這些精靈,請以滑鼠右鍵按一下資料表,然後選取 [資料表資料匯出精靈] 或 [資料表資料匯入精靈]。
資料表資料匯出精靈
若要將資料表匯出至 CSV 檔案:
- 以滑鼠右鍵按一下要匯出之資料庫的資料表。
- 選取 [資料表資料匯出精靈]。 選取要匯出的資料行、資料列位移 (如果有的話) 和計數 (如果有的話)。
- 在 [選取要匯出的資料] 窗格中,選取 [下一步]。 選取檔案路徑、CSV 或 JSON 檔案類型。 同時選取行分隔符號、字串封入方法和欄位分隔符號。
- 在 [選取輸出檔案位置] 窗格上,選取 [下一步]。
- 在 [匯出資料] 窗格中,選取 [下一步]。
資料表資料匯入精靈
若要從 CSV 檔案匯入資料表:
- 以滑鼠右鍵按一下要匯入之資料庫的資料表。
- 尋找並選取要匯入的 CSV 檔案,然後選取 [下一步]。
- 選取目的地資料表 (新的或現有的)、選取或取消選取 [匯入前截斷資料表] 核取方塊,然後選取 [下一步]。
- 選取編碼方式和要匯入的資料行,然後選取 [下一步]。
- 在 [匯入資料] 窗格中,選取 [下一步]。 精靈會匯入資料。
從導覽器窗格執行 SQL 資料匯出和匯入精靈
使用精靈,匯出或匯入從 MySQL Workbench 或 mysqldump 命令產生的 SQL。 您可以從 [導覽器] 窗格存取精靈,也可以從主功能表選取 [伺服器]。
匯出資料
您可以使用 [資料匯出] 窗格,匯出您的 MySQL 資料。
在 MySQL Workbench 的 [導覽器] 窗格中,選取 [資料匯出]。
在 [資料匯出] 窗格中,選取您想要匯出的每個結構描述。
您可以針對每個結構描述選取要匯出的特定結構描述物件或資料表。 設定選項包含匯出到專案資料夾或自封式 SQL 檔案、傾印儲存的常式和事件,或略過資料表資料。
或者,在 SQL 編輯器中,使用 [匯出結果集],將特定的結果集匯出為另一種格式,例如 CSV、JSON、HTML 和 XML。
選取要匯出的資料庫物件,並設定相關選項。
選取 [重新整理] 以載入目前的物件。
您可以選擇性地選取右上方的 [進階選項],以精簡匯出作業。 例如,新增資料表鎖定、使用
replace
而不是insert
陳述式,以及使用反引號字元將識別項括起來。選取 [開始匯出] 開始匯出程序。
匯入資料
您可以使用 [資料匯入] 窗格,匯入或還原來自資料匯出作業或是來自 mysqldump 命令的已匯出資料。
- 在 MySQL Workbench 的 [導覽器] 窗格中,選取 [資料匯入/還原]。
- 選取專案資料夾或自封式 SQL 檔案、選取將匯入的結構描述,或選取 [新增] 按鈕來定義新的結構描述。
- 選取 [開始匯入] 開始匯入程序。
下一步
- 針對另一個移轉方法,請參閱使用傾印和還原將 MySQL 資料庫移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器。
- 如需將資料庫移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱資料庫移轉指南。