での同種データ移行のソースとしての MySQL 互換データベースの使用 AWS DMS - AWS データベース移行サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

での同種データ移行のソースとしての MySQL 互換データベースの使用 AWS DMS

同種データ移行 の のソースとして、My SQL互換データベース (MySQL または MariaDB ) を使用できます AWS DMS。この場合、ソースデータプロバイダーはオンプレミス、Amazon 、または MySQL EC2または MariaDB データベースRDSの になります。

同種データ移行を実行するには、レプリケーションのすべてのソーステーブルとセカンダリオブジェクトに対する SELECT 権限を持つデータベースユーザーを使用する必要があります。変更データキャプチャ (CDC) タスクの場合、このユーザーには REPLICATION CLIENT (BINLOG MONITOR10.5.2 以降の MariaDB バージョンでは ) および REPLICATION SLAVE権限も必要です。フルロードデータ移行の場合、この 2 つの権限は必要ありません。

次のスクリプトを使用して、MySQL データベースに必要なアクセス許可を持つデータベースユーザーを作成します。に移行するすべてのデータベースに対してGRANTクエリを実行します AWS。

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'your_user'@'%'; GRANT SELECT, RELOAD, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'your_user'@'%'; GRANT BACKUP_ADMIN ON *.* TO 'your_user'@'%';

前の例では、各 を置き換えます。user input placeholder 自分の情報を入力します。ソース MySQL データベースのバージョンが 8.0 より前の場合は、 GRANT BACKUP_ADMIN コマンドをスキップできます。

次のスクリプトを使用して、MariaDB データベースでの必要な権限を持つデータベースユーザーを作成します。に移行するすべてのデータベースに対してGRANTクエリを実行します AWS。

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION SLAVE, BINLOG MONITOR, SHOW VIEW ON *.* TO 'your_user'@'%';

前の例では、各 を置き換えます。user input placeholder 自分の情報を入力します。

以下のセクションでは、セルフマネージド型および マネージド AWS型の MySQL データベースの特定の設定前提条件について説明します。

同種データ移行のソースとしてのセルフマネージドマイSQL互換データベースの使用

このセクションでは、オンプレミスまたは Amazon SQLEC2インスタンスでホストされている My 互換データベースを設定する方法について説明します。

ソース My SQLまたは MariaDB データベースのバージョンを確認します。「」の説明に従って、 がソース My SQLまたは MariaDB データベースのバージョン AWS DMS をサポートしていることを確認しますDMS 同種データ移行のソース

を使用するにはCDC、バイナリログ記録を必ず有効にしてください。バイナリログ記録を有効にするには、MySQL または MariaDB データベースの my.ini (Windows) または my.cnf (UNIX) ファイルで次のパラメータを設定します。

パラメータ

server-id

このパラメータは、1 以上の値に設定します。

log-bin

パスをバイナリログファイル (log-bin=E:\MySql_Logs\BinLog) に設定します。ファイル拡張子を含めないでください。

binlog_format

このパラメータは ROW に設定します。binlog_formatSTATEMENT に設定されているときは場合によっては、ターゲットにデータレプリケーション時に矛盾が生じる可能性があるため、レプリケーション中にこの設定をお勧めします。データベースエンジンが自動的に STATEMENT ベースのログに切り替わるため、binlog_formatMIXED に設定されていると、ターゲットのデータの書き込みで同様の不整合が発生する。

expire_logs_days

このパラメータは、1 以上の値に設定します。ディスク容量の使いすぎを防ぐため、デフォルト値の 0 は使用しないことをお勧めします。

binlog_checksum

このパラメータは NONE に設定します。

binlog_row_image

このパラメータは FULL に設定します。

log_slave_updates

My または MariaDB SQLレプリカをソースとして使用TRUEしている場合は、このパラメータを に設定します。

で同種データ移行のソースとして AWS管理のマイSQL互換データベースを使用する AWS DMS

このセクションでは、Amazon RDS for MySQL および Amazon RDS for MariaDB データベースインスタンスを設定する方法について説明します。

で同種データ移行のソースとして AWS管理の MySQL または MariaDB データベースを使用する場合は AWS DMS、 の次の前提条件があることを確認してくださいCDC。

  • MySQL および MariaDB RDSの のバイナリログを有効にするには、インスタンスレベルで自動バックアップを有効にします。Aurora MySQL クラスターのバイナリログを有効にするには、binlog_formatパラメータグループの 変数を変更します。Aurora MySQL クラスターの自動バックアップを有効にする必要はありません。

    次に、binlog_format パラメータを ROW に設定します。

    自動バックアップの設定の詳細については、「Amazon RDS ユーザーガイド」の「自動バックアップの有効化」を参照してください。

    Amazon for MySQL または MariaDB データベースのバイナリログ記録の設定の詳細については、「Amazon ユーザーガイドRDS」の「バイナリログ記録形式の設定RDS」を参照してください。 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.BinaryFormat.html

    Aurora MySQL クラスターのバイナリログ記録の設定の詳細については、「Amazon Aurora MySQL クラスターのバイナリログ記録を有効にするにはどうすればよいですか?」を参照してください。

  • バイナリログが で利用できることを確認します AWS DMS。 AWSが管理する MySQL および MariaDB データベースはバイナリログをできるだけ早く消去するため、ログが利用可能なままになる時間を増やす必要があります。たとえば、ログ保持を 24 時間に伸ばすには、次のコマンドを実行します。

    call mysql.rds_set_configuration('binlog retention hours', 24);
  • binlog_row_image パラメータを Full に設定します。

  • binlog_checksum パラメータを NONE に設定します。

  • Amazon RDS MySQL または MariaDB レプリカをソースとして使用している場合は、リードレプリカでバックアップを有効にし、 log_slave_updatesパラメータが に設定されていることを確認しますTRUE

マイ互換データベースをSQL同種データ移行のソースとして使用する際の制限

My 互換データベースをSQL同種データ移行のソースとして使用する場合は、次の制限が適用されます。

  • シーケンスなどの MariaDB オブジェクトは、同種移行タスクではサポートされていません。

  • MariaDB から Amazon RDS My SQL/Aurora MySQL への移行は、互換性のないオブジェクトの違いにより失敗する可能性があります。

  • データソースへの接続に使用するユーザー名には以下の制限があります。

    • 2~64 文字を使用できます。

    • スペースは使用できません。

    • 文字として a~z、A~Z、0~9、アンダースコア (_) を使用できます。

    • a~z または A~Z で始める必要があります。

  • データソースへの接続に使用するパスワードには以下の制限があります。

    • 1~128 文字を使用できます。

    • 一重引用符 (')、二重引用符 (")、セミコロン (;)、スペースのいずれも使用できません。