このページでは、1 回限りの同種 MySQL 移行用に次のソース データベース インスタンスを構成する方法について説明します。
- Cloud SQL for MySQL
- セルフホスト型 MySQL
- Amazon RDS for MySQL
- Amazon Aurora for MySQL
- Microsoft Azure Database for MySQL
Cloud SQL for MySQL ソースを構成する
移行プロセス用に Cloud SQL for MySQL のソース インスタンスを構成するには、次の操作を行います。
- ソース データベースに、
DEFINER句を使用してユーザーが定義したメタデータが含まれているかどうかを確認します。DEFINER句を使用してメタデータを確認するをご覧ください。同種の MySQL 移行用の Database Migration Service では、ユーザー アカウントとログインは移行されません。
DEFINER句を含むユーザー アカウントによって定義されたメタデータを含むソースは、移行をブロックする可能性があります。 - ソース データベースに
mysql、performance_schema、information_schema、ndbinfo、sysのシステム スキーマのテーブルを参照するオブジェクトが含まれている場合は、レプリカ データベースにもこれらのシステム スキーマ テーブルが含まれていることを確認します。レプリカ データベースにこれらのテーブルがない場合、移行ジョブが
Unknown table in system schemaで失敗することがあります。 -
インスタンスに移行専用のユーザー アカウントを作成します。 Cloud SQL ドキュメントのユーザーを作成するをご覧ください。次の点を確認してください。
- 専用ユーザー アカウントが任意のホスト(
host=%)から接続できるようにします。 - アカウントのパスワードが 32 文字以下である。MySQL ユーザーのパスワードの長さの制限の詳細については、MySQL バグ #43439 をご覧ください。
- 専用ユーザー アカウントが任意のホスト(
-
移行専用のユーザー アカウントに必要な権限を割り当てます。1 回限りの移行の場合、必要な権限の完全なリストは、独自のダンプファイルを提供するか、Database Migration Service のマネージド ダンプ機能を使用するかによって異なります。
マネージド ダンプ
Database Migration Service で移行元データベースの完全ダンプを自動的に取得する場合は、ユーザー アカウントに次の権限を割り当てます。
手動ダンプ
mysqldumpで作成された独自のダンプファイルを指定する場合は、ユーザー アカウントに追加の権限を割り当てる必要はありません。
セルフホスト型 MySQL ソースを構成する
移行プロセス用にセルフホスト型の MySQL ソース インスタンスを構成するには、次の操作を行います。
- すべてのテーブル(システム データベースのテーブルを除く)で InnoDB ストレージ エンジンが使用されていることを確認します。別のストレージ エンジンを使用している場合は、テーブルの変換が必要になることがあります。詳細については、MyISAM から InnoDB へのテーブルの変換をご覧ください。
- ソース データベースに、
DEFINER句を使用してユーザーが定義したメタデータが含まれているかどうかを確認します。DEFINER句を使用してメタデータを確認するをご覧ください。同種の MySQL 移行用の Database Migration Service では、ユーザー アカウントとログインは移行されません。
DEFINER句を含むユーザー アカウントによって定義されたメタデータを含むソースは、移行をブロックする可能性があります。 - ソース データベースに
mysql、performance_schema、information_schema、ndbinfo、sysのシステム スキーマのテーブルを参照するオブジェクトが含まれている場合は、レプリカ データベースにもこれらのシステム スキーマ テーブルが含まれていることを確認します。レプリカ データベースにこれらのテーブルがない場合、移行ジョブが
Unknown table in system schemaで失敗することがあります。 -
GTID_MODEがONまたはOFFに設定されていることを確認します。他の値はサポートされていません。Database Migration Service では、次のシナリオで
GTID_MODEをONに設定する必要があります。- リードレプリカが有効になっている既存の移行先インスタンスに移行する場合。
- ダンプファイルを手動で作成し、移行ジョブで提供する予定がある場合。
GTID_MODEの詳細については、グローバル トランザクション ID システム変数をご覧ください。 -
インスタンスに移行専用のユーザー アカウントを作成します。 アカウント管理ステートメントをご覧ください。次の点を確認してください。
- 専用ユーザー アカウントが任意のホスト(
host=%)から接続できるようにします。 - アカウントのパスワードが 32 文字以下である。MySQL ユーザーのパスワードの長さの制限の詳細については、MySQL バグ #43439 をご覧ください。
- 専用ユーザー アカウントが任意のホスト(
-
移行専用のユーザー アカウントに必要な権限を割り当てます。1 回限りの移行の場合、必要な権限の完全なリストは、独自のダンプファイルを提供するか、Database Migration Service のマネージド ダンプ機能を使用するかによって異なります。
マネージド ダンプ
Database Migration Service で移行元データベースの完全ダンプを自動的に取得する場合は、ユーザー アカウントに次の権限を割り当てます。
手動ダンプ
mysqldumpで作成された独自の ダンプファイルを指定する場合は、 ユーザー アカウントに追加の権限を割り当てる必要はありません。
Amazon RDS for MySQL ソースを構成する
移行プロセス用に Amazon RDS for MySQL のソース インスタンスを構成するには、次の操作を行います。
- Amazon RDS for MySQL は、デフォルトで InnoDB ストレージ エンジンを使用しますが、他のストレージ エンジンを使用することもできます。すべてのテーブル(システム データベースのテーブルを除く)で InnoDB ストレージ エンジンが使用されていることを確認します。別のストレージ エンジンを使用している場合は、テーブルの変換が必要になることがあります。詳細については、MyISAM から InnoDB へのテーブルの変換をご覧ください。
- ソース データベースに、
DEFINER句を使用してユーザーが定義したメタデータが含まれているかどうかを確認します。DEFINER句を使用してメタデータを確認するをご覧ください。同種の MySQL 移行用の Database Migration Service では、ユーザー アカウントとログインは移行されません。
DEFINER句を含むユーザー アカウントによって定義されたメタデータを含むソースは、移行をブロックする可能性があります。 - ソース データベースに
mysql、performance_schema、information_schema、ndbinfo、sysのシステム スキーマのテーブルを参照するオブジェクトが含まれている場合は、レプリカ データベースにもこれらのシステム スキーマ テーブルが含まれていることを確認します。レプリカ データベースにこれらのテーブルがない場合、移行ジョブが
Unknown table in system schemaで失敗することがあります。 -
GTID_MODEがONまたはOFFに設定されていることを確認します。他の値はサポートされていません。Amazon RDS for MySQL は、デフォルトでGTID_MODE = OFFを使用します。Database Migration Service では、次のシナリオで
GTID_MODEをONに設定する必要があります。- リードレプリカが有効になっている既存の移行先インスタンスに移行する場合。
- ダンプファイルを手動で作成し、移行ジョブで提供する予定がある場合。
GTID_MODEの詳細については、グローバル トランザクション ID システム変数をご覧ください。 -
インスタンスに移行専用のユーザー アカウントを作成します。 アカウント管理ステートメントをご覧ください。次の点を確認してください。
- 専用ユーザー アカウントが任意のホスト(
host=%)から接続できるようにします。 - アカウントのパスワードが 32 文字以下である。MySQL ユーザーのパスワードの長さの制限の詳細については、MySQL バグ #43439 をご覧ください。
- 専用ユーザー アカウントが任意のホスト(
-
移行専用のユーザー アカウントに必要な権限を割り当てます。1 回限りの移行の場合、必要な権限の完全なリストは、独自のダンプファイルを提供するか、Database Migration Service のマネージド ダンプ機能を使用するかによって異なります。
マネージド ダンプ
Database Migration Service で移行元データベースの完全ダンプを自動的に取得する場合は、ユーザー アカウントに次の権限を割り当てます。
SELECTSHOW VIEWTRIGGERLOCK TABLESGTID_MODE = ON設定のソースの場合:RELOADマネージド ダンプフローでは、Database Migration Service は、リードレプリカが有効になっている既存の移行先インスタンスに移行する場合にのみ、
GTID_MODE = ON設定を必要とします。- ソース MySQL バージョン 8.0 以降の場合: 移行アカウントに
BACKUP_ADMIN権限がないことを確認します。
手動ダンプ
mysqldumpで作成された独自のダンプファイルを指定する場合は、ユーザー アカウントに追加の権限を割り当てる必要はありません。
Amazon Aurora for MySQL ソースを構成する
移行プロセス用に Amazon Aurora for MySQL のソース インスタンスを構成するには、次の操作を行います。
- ソース データベースに、
DEFINER句を使用してユーザーが定義したメタデータが含まれているかどうかを確認します。DEFINER句を使用してメタデータを確認するをご覧ください。同種の MySQL 移行用の Database Migration Service では、ユーザー アカウントとログインは移行されません。
DEFINER句を含むユーザー アカウントによって定義されたメタデータを含むソースは、移行をブロックする可能性があります。 - ソース データベースに
mysql、performance_schema、information_schema、ndbinfo、sysのシステム スキーマのテーブルを参照するオブジェクトが含まれている場合は、レプリカ データベースにもこれらのシステム スキーマ テーブルが含まれていることを確認します。レプリカ データベースにこれらのテーブルがない場合、移行ジョブが
Unknown table in system schemaで失敗することがあります。 -
GTID_MODEがONまたはOFFに設定されていることを確認します。他の値はサポートされていません。Amazon Aurora for MySQL は、デフォルトでGTID_MODE = OFFを使用します。Database Migration Service では、次のシナリオで
GTID_MODEをONに設定する必要があります。- リードレプリカが有効になっている既存の移行先インスタンスに移行する場合。
- ダンプファイルを手動で作成し、移行ジョブで提供する予定がある場合。
GTID_MODEの詳細については、グローバル トランザクション ID システム変数をご覧ください。 -
インスタンスに移行専用のユーザー アカウントを作成します。 アカウント管理ステートメントをご覧ください。次の点を確認してください。
- 専用ユーザー アカウントが任意のホスト(
host=%)から接続できるようにします。 - アカウントのパスワードが 32 文字以下である。MySQL ユーザーのパスワードの長さの制限の詳細については、MySQL バグ #43439 をご覧ください。
- 専用ユーザー アカウントが任意のホスト(
-
移行専用のユーザー アカウントに必要な権限を割り当てます。1 回限りの移行の場合、必要な権限の完全なリストは、独自のダンプファイルを提供するか、Database Migration Service のマネージド ダンプ機能を使用するかによって異なります。
マネージド ダンプ
Database Migration Service で移行元データベースの完全ダンプを自動的に取得する場合は、ユーザー アカウントに次の権限を割り当てます。
SELECTSHOW VIEWTRIGGERLOCK TABLESGTID_MODE = ON設定のソースの場合:RELOADマネージド ダンプフローでは、Database Migration Service は、リードレプリカが有効になっている既存の移行先インスタンスに移行する場合にのみ、
GTID_MODE = ON設定を必要とします。- ソース MySQL バージョン 8.0 以降の場合: 移行アカウントに
BACKUP_ADMIN権限がないことを確認します。
手動ダンプ
mysqldumpで作成された独自のダンプファイルを指定する場合は、ユーザー アカウントに追加の権限を割り当てる必要はありません。
Microsoft Azure Database for MySQL ソースを構成する
移行プロセス用に Microsoft Azure Database for MySQL のソース インスタンスを構成するには、次の操作を行います。
- ソース データベースに、
DEFINER句を使用してユーザーが定義したメタデータが含まれているかどうかを確認します。DEFINER句を使用してメタデータを確認するをご覧ください。同種の MySQL 移行用の Database Migration Service では、ユーザー アカウントとログインは移行されません。
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を使用します。Database Migration Service では、次のシナリオで
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 をご覧ください。
- 専用ユーザー アカウントが任意のホスト(
-
移行専用のユーザー アカウントに必要な権限を割り当てます。1 回限りの移行の場合、必要な権限の完全なリストは、独自のダンプファイルを提供するか、Database Migration Service のマネージド ダンプ機能を使用するかによって異なります。
マネージド ダンプ
Database Migration Service で移行元データベースの完全ダンプを自動的に取得する場合は、ユーザー アカウントに次の権限を割り当てます。
手動ダンプ
mysqldumpで作成された独自のダンプファイルを指定する場合は、ユーザー アカウントに追加の権限を割り当てる必要はありません。
次のステップ
同種の Cloud SQL for MySQL 移行の詳細な移行手順については、Cloud SQL for MySQL 移行のスタートガイドをご覧ください。