スキーマ、データ、メタデータを移行元データベースから移行先データベースに移行する場合は、このすべての情報が正確に移行されるようにする必要があります。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 データベースで必要に応じてフラグの設定を更新します。