設定來源 MySQL 資料庫,以便單次遷移資料

本頁面說明如何設定下列來源資料庫執行個體,以便執行一次性同質 MySQL 遷移作業:

設定 MySQL 適用的 Cloud SQL 來源

如要為遷移程序設定 MySQL 適用的 Cloud SQL 來源執行個體,請按照下列步驟操作:

  1. 請檢查來源資料庫是否包含使用者透過 DEFINER 子句定義的中繼資料。請參閱「使用 DEFINER 子句驗證中繼資料」。

    資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源包含由使用者帳戶定義的中繼資料,且含有 DEFINER 子句,可能會導致遷移作業遭到封鎖。

  2. 如果來源資料庫包含參照 mysql、performance_schema、information_schema、ndbinfo 或 sys 系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。

    如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示 Unknown table in system schema 。

  3. 在執行個體建立專用的遷移使用者帳戶。 請參閱 Cloud SQL 說明文件中的「建立使用者」。請確認下列事項:

    • 您允許專用使用者帳戶從任何主機 (host=%) 連線。
    • 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL 錯誤 #43439。
  4. 將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移作業,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:

    代管傾印

    如要讓資料庫遷移服務自動完整傾印來源資料庫,請將下列權限指派給使用者帳戶:

    手動轉儲

    如果您提供使用 mysqldump 建立的 dump 檔案,就不必為使用者帳戶指派任何額外權限。

設定自行託管的 MySQL 來源

如要為遷移程序設定自行託管的 MySQL 來源執行個體,請按照下列步驟操作:

  1. 確認所有資料表 (系統資料庫中的資料表除外) 都使用 InnoDB 儲存引擎。如果使用其他儲存引擎,可能需要轉換資料表。 詳情請參閱「將資料表從 MyISAM 轉換為 InnoDB」。
  2. 請檢查來源資料庫是否包含使用者透過 DEFINER 子句定義的中繼資料。請參閱「使用 DEFINER 子句驗證中繼資料」。

    資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源包含由使用者帳戶定義的中繼資料,且含有 DEFINER 子句,可能會導致遷移作業遭到封鎖。

  3. 如果來源資料庫包含參照 mysql、performance_schema、information_schema、ndbinfo 或 sys 系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。

    如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示 Unknown table in system schema 。

  4. 確認 GTID_MODE 已設為 ON 或 OFF,不支援其他值。

    在下列情況下,資料庫遷移服務需要將 GTID_MODE 設為 ON:

    如要進一步瞭解 GTID_MODE,請參閱「全域交易 ID 系統變數」。

  5. 在執行個體建立專用的遷移使用者帳戶。 請參閱「帳戶管理聲明」。請確認下列事項:

    • 您允許專用使用者帳戶從任何主機 (host=%) 連線。
    • 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL 錯誤 #43439。
  6. 將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移作業,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:

    代管傾印

    如要讓資料庫遷移服務自動完整傾印來源資料庫,請將下列權限指派給使用者帳戶:

    • SELECT
    • SHOW VIEW
    • TRIGGER
    • 來源採用 GTID_MODE = ON 設定: RELOAD

      使用代管轉儲流程時,只有在遷移至已啟用唯讀副本的現有目的地執行個體時,資料庫遷移服務才會要求設定 GTID_MODE = ON。

    • MySQL 來源版本為 8.0 以上:確認遷移帳戶沒有 BACKUP_ADMIN 權限。

    手動轉儲

    如果您提供使用 mysqldump 建立的 dump 檔案,就不必為使用者帳戶指派任何額外權限。

設定 Amazon RDS for MySQL 來源

如要為遷移程序設定 Amazon RDS for MySQL 來源執行個體,請按照下列步驟操作:

  1. Amazon RDS for MySQL 預設使用 InnoDB 儲存引擎,但也允許使用其他儲存引擎。確認所有資料表 (系統資料庫中的資料表除外) 都使用 InnoDB 儲存引擎。如果使用其他儲存引擎,可能需要轉換資料表。 詳情請參閱「將資料表從 MyISAM 轉換為 InnoDB」。
  2. 請檢查來源資料庫是否包含使用者透過 DEFINER 子句定義的中繼資料。請參閱「使用 DEFINER 子句驗證中繼資料」。

    資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源包含由使用者帳戶定義的中繼資料,且含有 DEFINER 子句,可能會導致遷移作業遭到封鎖。

  3. 如果來源資料庫包含參照 mysql、performance_schema、information_schema、ndbinfo 或 sys 系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。

    如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示 Unknown table in system schema 。

  4. 確認 GTID_MODE 已設為 ON 或 OFF,不支援其他值。Amazon RDS for MySQL 預設使用 GTID_MODE = OFF。

    在下列情況下,資料庫遷移服務需要將 GTID_MODE 設為 ON:

    如要進一步瞭解 GTID_MODE,請參閱「全域交易 ID 系統變數」。

  5. 在執行個體建立專用的遷移使用者帳戶。 請參閱「帳戶管理聲明」。請確認下列事項:

    • 您允許專用使用者帳戶從任何主機 (host=%) 連線。
    • 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL 錯誤 #43439。
  6. 將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移作業,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:

    代管傾印

    如要讓資料庫遷移服務自動完整傾印來源資料庫,請將下列權限指派給使用者帳戶:

    手動轉儲

    如果您提供使用 mysqldump 建立的 dump 檔案,就不必為使用者帳戶指派任何額外權限。

設定 Amazon Aurora for MySQL 來源

如要為遷移程序設定 MySQL 適用的 Amazon Aurora 來源執行個體,請按照下列步驟操作:

  1. 請檢查來源資料庫是否包含使用者透過 DEFINER 子句定義的中繼資料。請參閱「使用 DEFINER 子句驗證中繼資料」。

    資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源包含由使用者帳戶定義的中繼資料,且含有 DEFINER 子句,可能會導致遷移作業遭到封鎖。

  2. 如果來源資料庫包含參照 mysql、performance_schema、information_schema、ndbinfo 或 sys 系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。

    如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示 Unknown table in system schema 。

  3. 確認 GTID_MODE 已設為 ON 或 OFF,不支援其他值。MySQL 適用的 Amazon Aurora 預設使用 GTID_MODE = OFF。

    在下列情況下,資料庫遷移服務需要將 GTID_MODE 設為 ON:

    如要進一步瞭解 GTID_MODE,請參閱「全域交易 ID 系統變數」。

  4. 在執行個體建立專用的遷移使用者帳戶。 請參閱「帳戶管理聲明」。請確認下列事項:

    • 您允許專用使用者帳戶從任何主機 (host=%) 連線。
    • 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL 錯誤 #43439。
  5. 將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移作業,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:

    代管傾印

    如要讓資料庫遷移服務自動完整傾印來源資料庫,請將下列權限指派給使用者帳戶:

    手動轉儲

    如果您提供使用 mysqldump 建立的 dump 檔案,就不必為使用者帳戶指派任何額外權限。

設定 Microsoft Azure Database for MySQL 來源

如要為遷移程序設定 Microsoft Azure Database for MySQL 來源執行個體,請按照下列步驟操作:

  1. 請檢查來源資料庫是否包含使用者透過 DEFINER 子句定義的中繼資料。請參閱「使用 DEFINER 子句驗證中繼資料」。

    資料庫遷移服務不支援同質 MySQL 遷移作業,無法遷移使用者帳戶和登入資訊。如果來源包含由使用者帳戶定義的中繼資料,且含有 DEFINER 子句,可能會導致遷移作業遭到封鎖。

  2. 如果來源資料庫包含參照 mysql、performance_schema、information_schema、ndbinfo 或 sys 系統結構定義中資料表的物件,請確保副本資料庫也包含這些系統結構定義資料表。

    如果副本資料庫沒有這些資料表,遷移工作可能會失敗,並顯示 Unknown table in system schema 。

  3. 確認 GTID_MODE 已設為 ON 或 OFF,不支援其他值。Microsoft Azure Database for MySQL 預設使用 GTID_MODE = OFF。

    在下列情況下,資料庫遷移服務需要將 GTID_MODE 設為 ON:

    如要進一步瞭解 GTID_MODE,請參閱「全域交易 ID 系統變數」。

  4. 檢查 require_secure_transport 設定的值。

    根據預設,Microsoft Azure 資料庫會要求所有傳入連線使用 SSL/TLS 加密。建立來源連線設定檔時,請根據 require_secure_transport 值使用下列其中一項加密設定:

    • 如果 require_secure_transport 設為 on,請選取「Basic」、「TLS」或「mTLS」。
    • 如果 require_secure_transport 設為 off,請選取「None」。
  5. 在執行個體建立專用的遷移使用者帳戶。 請參閱「帳戶管理聲明」。請確認下列事項:

    • 您允許專用使用者帳戶從任何主機 (host=%) 連線。
    • 帳戶密碼長度不超過 32 個半形字元。 如要進一步瞭解 MySQL 使用者密碼長度限制,請參閱 MySQL 錯誤 #43439。
  6. 將必要權限指派給專用的遷移使用者帳戶。 如果是一次性遷移作業,所需權限的完整清單取決於您是否提供自己的 dump 檔案,或使用資料庫遷移服務代管的 dump 功能:

    代管傾印

    如要讓資料庫遷移服務自動完整傾印來源資料庫,請將下列權限指派給使用者帳戶:

    • SELECT
    • SHOW VIEW
    • TRIGGER
    • 來源採用 GTID_MODE = ON 設定: RELOAD

      使用代管轉儲流程時,只有在遷移至已啟用唯讀副本的現有目的地執行個體時,資料庫遷移服務才會要求設定 GTID_MODE = ON。

    • MySQL 來源版本為 8.0 以上:確認遷移帳戶沒有 BACKUP_ADMIN 權限。

    手動轉儲

    如果您提供使用 mysqldump 建立的 dump 檔案,就不必為使用者帳戶指派任何額外權限。

後續步驟

如要查看 MySQL 適用的 Cloud SQL 同質遷移作業的完整逐步操作說明,請參閱「開始使用 MySQL 適用的 Cloud SQL 遷移作業」。