本頁面說明如何設定下列來源資料庫執行個體,以便執行一次性同質 MySQL 遷移作業:
- MySQL 適用的 Cloud SQL
- 自行託管的 MySQL
- Amazon RDS for MySQL
- MySQL 適用的 Amazon Aurora
- Microsoft Azure Database for MySQL
設定 MySQL 適用的 Cloud SQL 來源
如要為遷移程序設定 MySQL 適用的 Cloud SQL 來源執行個體,請按照下列步驟操作:
- 檢查來源資料庫是否包含使用者透過
DEFINER子句定義的中繼資料。請參閱「 使用DEFINER子句驗證中繼資料」一節。資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源包含由使用者帳戶定義的中繼資料,且含有
DEFINER子句,可能會導致遷移作業遭到封鎖。 - 如果來源資料庫包含參照
mysql、performance_schema、information_schema、ndbinfo或sys系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示
Unknown table in system schema。 -
在執行個體中建立專用的遷移使用者帳戶。 請參閱 Cloud SQL 說明文件中的「 建立使用者」一節。請確認:
- 您允許專屬使用者帳戶從任何主機連線 (
host=%)。 - 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL 錯誤 #43439。
- 您允許專屬使用者帳戶從任何主機連線 (
-
將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:
受管理傾印
如要讓資料庫遷移服務自動完整傾印來源資料庫,請為使用者帳戶指派下列權限:
手動轉儲
如果您提供 使用
mysqldump建立的傾印檔案, 則不需要為使用者帳戶指派任何額外權限。
設定自行託管的 MySQL 來源
如要為遷移程序設定自行代管的 MySQL 來源執行個體,請按照下列步驟操作:
- 確認所有資料表 (系統資料庫中的資料表除外) 都使用 InnoDB 儲存引擎。如果使用其他儲存引擎,可能需要轉換資料表。 詳情請參閱「 將資料表從 MyISAM 轉換為 InnoDB」。
- 檢查來源資料庫是否包含使用者以
DEFINER子句定義的中繼資料。請參閱 使用DEFINER子句驗證中繼資料。資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源含有使用者帳戶定義的元資料,且附有
DEFINER子句,可能會導致遷移作業遭到封鎖。 - 如果來源資料庫包含參照
mysql、performance_schema、information_schema、ndbinfo或sys系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示
Unknown table in system schema。 -
確認
GTID_MODE已設為ON或OFF,不支援其他值。在下列情況下,資料庫遷移服務需要將
GTID_MODE設為ON:如要進一步瞭解
GTID_MODE,請參閱「 全域交易 ID 系統變數」。 -
在執行個體建立專用的遷移使用者帳戶。 請參閱 帳戶管理聲明。請確認下列事項:
- 您允許專屬使用者帳戶從任何主機連線 (
host=%)。 - 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL Bug #43439。
- 您允許專屬使用者帳戶從任何主機連線 (
-
將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:
設定 Amazon RDS for MySQL 來源
如要為遷移程序設定 Amazon RDS for MySQL 來源執行個體,請按照下列步驟操作:
- Amazon RDS for MySQL 預設使用 InnoDB 儲存引擎,但允許使用其他儲存引擎。確認所有資料表 (系統資料庫中的資料表除外) 都使用 InnoDB 儲存引擎。如果使用其他儲存空間引擎,可能需要轉換資料表。 詳情請參閱「 將資料表從 MyISAM 轉換為 InnoDB」。
- 檢查來源資料庫是否包含使用者以
DEFINER子句定義的中繼資料。請參閱「 使用DEFINER子句驗證中繼資料」一節。資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源含有使用者帳戶定義的元資料,且附有
DEFINER子句,可能會導致遷移作業遭到封鎖。 - 如果來源資料庫包含參照
mysql、performance_schema、information_schema、ndbinfo或sys系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示
Unknown table in system schema。 -
確認
GTID_MODE已設為ON或OFF,不支援其他值。MySQL 適用的 Amazon RDS 預設使用GTID_MODE = OFF。在下列情況下,資料庫遷移服務需要將
GTID_MODE設為ON:- 遷移至已啟用唯讀備用資源的現有目標執行個體。
- 如果您打算手動建立 dump 檔案,並在遷移工作中提供這些檔案。
如要進一步瞭解
GTID_MODE,請參閱「 全域交易 ID 系統變數」。 -
在執行個體建立專用的遷移使用者帳戶。 請參閱「 帳戶管理聲明」。請確認:
- 您允許專屬使用者帳戶從任何主機連線 (
host=%)。 - 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL Bug #43439。
- 您允許專屬使用者帳戶從任何主機連線 (
-
將必要權限指派給專用的遷移使用者帳戶。 如果是單次遷移,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或是使用資料庫遷移服務管理 dump 功能:
設定 MySQL 適用的 Amazon Aurora 來源
如要為遷移程序設定 MySQL 適用的 Amazon Aurora 來源執行個體,請按照下列步驟操作:
- 檢查來源資料庫是否包含使用者以
DEFINER子句定義的中繼資料。請參閱 使用DEFINER子句驗證中繼資料。同質 MySQL 遷移適用的資料庫遷移服務不會遷移使用者帳戶和登入資訊。如果來源包含由使用者帳戶定義的中繼資料,且含有
DEFINER子句,可能會導致遷移作業遭到封鎖。 - 如果來源資料庫包含參照
mysql、performance_schema、information_schema、ndbinfo或sys系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示
Unknown table in system schema。 -
確認
GTID_MODE已設為ON或OFF,不支援其他值。MySQL 適用的 Amazon Aurora 預設使用GTID_MODE = OFF。在下列情況下,資料庫遷移服務需要將
GTID_MODE設為ON:- 遷移至已啟用唯讀備用資源的現有目標執行個體。
- 如果您打算手動建立 dump 檔案,並在遷移工作中提供這些檔案。
如要進一步瞭解
GTID_MODE,請參閱「 全域交易 ID 系統變數」。 -
在執行個體中建立專用的遷移使用者帳戶。 請參閱 帳戶管理聲明。請確認下列事項:
- 您允許專屬使用者帳戶從任何主機連線 (
host=%)。 - 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL 錯誤 #43439。
- 您允許專屬使用者帳戶從任何主機連線 (
-
將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:
設定 Microsoft Azure Database for MySQL 來源
如要為遷移程序設定 Microsoft Azure Database for MySQL 來源執行個體,請按照下列步驟操作:
- 檢查來源資料庫是否包含使用者透過
DEFINER子句定義的中繼資料。請參閱「 使用DEFINER子句驗證中繼資料」一節。資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源含有使用者帳戶定義的元資料,且附有
DEFINER子句,可能會導致遷移作業遭到封鎖。 - 如果來源資料庫包含參照
mysql、performance_schema、information_schema、ndbinfo或sys系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示
Unknown table in system schema。 -
確認
GTID_MODE已設為ON或OFF,不支援其他值。Microsoft Azure Database for MySQL 預設使用GTID_MODE = OFF。在下列情況下,資料庫遷移服務需要將
GTID_MODE設為ON:如要進一步瞭解
GTID_MODE,請參閱「 全域交易 ID 系統變數」。 檢查
require_secure_transport設定的值。根據預設,Microsoft Azure 資料庫會要求所有傳入連線使用 SSL/TLS 加密。建立來源連線設定檔時,請根據
require_secure_transport值使用下列其中一項加密設定:- 如果
require_secure_transport設為on,請選取「Basic」(基本)、「TLS」(傳輸層安全標準) 或「mTLS」(相互傳輸層安全標準)。 - 如果
require_secure_transport設為off,請選取「無」。
- 如果
-
在執行個體建立專用的遷移使用者帳戶。 請參閱 帳戶管理聲明。請確認下列事項:
- 您允許專屬使用者帳戶從任何主機連線 (
host=%)。 - 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL 錯誤 #43439。
- 您允許專屬使用者帳戶從任何主機連線 (
-
將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:
後續步驟
如要瞭解 MySQL 適用的 Cloud SQL 同質遷移作業的完整逐步操作說明,請參閱「 開始使用 MySQL 適用的 Cloud SQL 遷移作業」。