移行の忠実性

スキーマ、データ、メタデータを移行元データベースから移行先データベースに移行する場合は、このすべての情報が正確に移行されるようにする必要があります。Database Migration Service は、あるデータベースから別のデータベースに高忠実度でデータベース オブジェクト(スキーマ、データ、メタデータなど)を移行する方法を提供します。

データベース移行の一環として、以下のデータ、スキーマ、メタデータ コンポーネントがすべて移行されます。

データ

  • 次のシステム データベースを除くすべてのテーブルとスキーマ: sys、mysql、performance_schema、information_schema。

スキーマ

  • 命名

  • 主キー

  • データ型

  • 序数位置

  • デフォルト値

  • null 可能性

  • 自動増分属性

  • セカンダリ インデックス

メタデータ

  • ストアド プロシージャ

  • 関数

  • トリガー

  • ビュー

  • 外部キー制約

継続的な移行

前述のすべてのデータ、スキーマ、メタデータに対するデータ操作言語(DML)とデータ定義言語(DDL)の変更は、継続的な移行中に更新されます。

移行されないデータ

  • 暗号化されたデータベースを移行するには、暗号鍵を Database Migration Service に提供する必要があります。Database Migration Service は、暗号化された Amazon Aurora データベースまたは Amazon RDS データベースからのデータの移行をサポートしています。これらのデータベースは、サービス内で復号を透過的に処理するためです。詳細については、 Amazon Aurora リソースの暗号化、 Amazon RDS リソースの暗号化、 顧客管理の暗号鍵(CMEK)を構成するをご覧ください。

  • ユーザー アカウントとログインは移行されません。

    MySQL システム データベース(mysql、performance_schema、information_schema、sys)は移行されません。これらのデータベースには、ユーザー アカウント、ログイン、権限に関する情報が含まれています。ユーザー アカウントのログイン情報は、移行先の Cloud SQL データベース インスタンスで直接管理する必要があります。

    DEFINER 句を使用して、移行先インスタンスに存在しないユーザー アカウントを参照するメタデータ オブジェクト(ストアド プロシージャ、関数、ビュー、イベント、トリガーなど)は、新しい Cloud SQL 移行先で呼び出されると失敗します。移行する前に、移行先インスタンスに対応するユーザー アカウントを作成するか、DEFINER 句を更新する必要があります。詳細については、 DEFINER 句を使用してメタデータを検証するをご覧ください。

    Cloud SQL 移行先インスタンスにユーザーを追加するには、インスタンスに移動して [ユーザー] タブからユーザーを追加するか、MySQL クライアントから追加します。Cloud SQL for MySQL でデータベース ユーザーを作成して管理する方法については、Cloud SQL ドキュメントの ユーザーの作成と管理をご覧ください。

  • デフォルト以外のフラグ設定は、Cloud SQL の移行先インスタンスに移行されません。スキーマ、データ、メタデータを移行先データベースに移行する前に、移行元データベースで SHOW VARIABLES を実行し、Cloud SQL データベースで再度実行します。移行元の設定をレプリケートするように、Cloud SQL データベースで必要に応じてフラグの設定を更新します。