翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
評価SQL
このセクションでは、My 、Aurora My SQL互換エディションSQL、または Aurora My 互換SQLエディションのサーバーレスソースエンドポイントを使用する移行タスクの個々の移行前評価について説明します。
トピック
- バイナリログトランザクション圧縮が無効になっているかどうかを検証する
- DMS ユーザーがソースデータベースの REPLICATIONCLIENTおよび アクセスREPLICATIONSLAVE許可を持っているかどうかを検証する
- DMS ユーザーがソースデータベーステーブルに対するSELECTアクセス許可を持っているかどうかを検証する
- ソースデータベースで server_id が 1 以上に設定されているかどうかを検証する
- DMS ユーザーがターゲットとしてのマイSQLデータベースに必要なアクセス許可を持っているかどうかを検証する
- ソースデータベースにバイナリログの自動削除が設定されているかどうかを検証する
- が true BatchApplyEnabledに設定されている場合にのみ制限LOBモードが使用されることを検証する
- テーブルが Innodb 以外のストレージエンジンを使用しているかどうかを検証する
- 移行に使用されるテーブルで自動インクリメントが有効になっているかどうかを検証する
- データベースバイナリログイメージが をサポートするFULLように に設定されているかどうかを検証する DMS CDC
- ソースデータベースが MySQL Read-Replica であるかどうかを検証する
- テーブルにパーティションがあるかどうかを検証し、フルロードタスク設定target_table_prep_modeに を推奨します。
- がデータベースバージョンDMSをサポートしているかどうかを検証する
- ターゲットデータベースが を 1 local_infileに設定するように設定されているかどうかを検証する
- ターゲットデータベースに外部キーを持つテーブルがあるかどうかを検証する
- タスクスコープ内のソーステーブルにカスケード制約があるかどうかを検証する
- タイムアウト値が MySQL ソースまたはターゲットに適しているかどうかを検証する
バイナリログトランザクション圧縮が無効になっているかどうかを検証する
API キー: mysql-check-binlog-compression
この移行前評価では、バイナリログトランザクション圧縮が無効になっているかどうかを検証します。 はバイナリログトランザクション圧縮をサポート AWS DMS していません。
詳細については、「 のソースとしての MySQL データベースの使用に関する制限事項 AWS DMS」を参照してください。
DMS ユーザーがソースデータベースの REPLICATIONCLIENTおよび アクセスREPLICATIONSLAVE許可を持っているかどうかを検証する
API キー: mysql-check-replication-privileges
この移行前評価では、ソースエンドポイント接続設定で指定されたDMSユーザーが、DMSタスク移行タイプが CDCまたは全ロード + の場合、ソースデータベースの REPLICATION CLIENT
および アクセスREPLICATION SLAVE
許可を持っているかどうかを検証しますCDC。
詳細については、「 のソースとして SQL互換データベースを使用する AWS DMS」を参照してください。
DMS ユーザーがソースデータベーステーブルに対するSELECTアクセス許可を持っているかどうかを検証する
API キー: mysql-check-select-privileges
この移行前評価では、ソースエンドポイント接続設定で指定されたDMSユーザーがソースデータベーステーブルに対するSELECTアクセス許可を持っているかどうかを検証します。
詳細については、「 のソースとして SQL互換データベースを使用する AWS DMS」を参照してください。
ソースデータベースで server_id が 1 以上に設定されているかどうかを検証する
API キー: mysql-check-server-id
この移行前評価では、CDC移行タイプのソースデータベースでserver_id
サーバー変数が 1 以上に設定されているかどうかを検証します。
のソースの詳細については AWS DMS、「 のソースとしてセルフマネージド My SQL互換データベースを使用する AWS DMS」を参照してください。
DMS ユーザーがターゲットとしてのマイSQLデータベースに必要なアクセス許可を持っているかどうかを検証する
API キー: mysql-check-target-privileges
この移行前評価では、ターゲットエンドポイント接続設定で指定されたDMSユーザーが、ターゲットとして MySQL データベースに必要なアクセス許可を持っているかどうかを検証します。
ソースSQLエンドポイントの前提条件の詳細については、「 のソースとして SQL互換データベースを使用する AWS DMS」を参照してください。
ソースデータベースにバイナリログの自動削除が設定されているかどうかを検証する
API キー: mysql-check-expire-logs-days
この移行前評価では、データベースがバイナリログを自動的に削除するように設定されているかどうかを検証します。移行中のディスク容量の過剰使用を防ぐため、 EXPIRE_LOGS_DAYS
または BINLOG_EXPIRE_LOGS_SECONDS
グローバルシステム変数の値は 0 より大きくする必要があります。
のソースの詳細については AWS DMS、「 のソースとしてセルフマネージド My SQL互換データベースを使用する AWS DMS」を参照してください。
が true BatchApplyEnabled
に設定されている場合にのみ制限LOBモードが使用されることを検証する
API キー: mysql-batch-apply-lob-mode
この移行前評価では、DMSタスクにLOB列が含まれているかどうかを検証します。LOB 列がタスクのスコープに含まれている場合は、制限付きLOBモードでのみ BatchApplyEnabled
を使用する必要があります。
BatchApplyEnabled
設定の詳細については、DMS「バッチ適用機能を使用してCDCレプリケーションのパフォーマンスを向上させるにはどうすればよいですか?
テーブルが Innodb 以外のストレージエンジンを使用しているかどうかを検証する
API キー: mysql-check-table-storage-engine
この移行前評価では、ソース MySQL データベース内のテーブルに使用されるストレージエンジンが Innodb 以外のエンジンであるかどうかを検証します。DMS は、デフォルトで InnoDB ストレージエンジンを使用してターゲットテーブルを作成します。InnoDB 以外のストレージエンジンを使用する必要がある場合は、ターゲットデータベースにテーブルを手動で作成し、 TRUNCATE_BEFORE_LOAD
または をフルロードDMSタスク設定DO_NOTHING
として使用するようにタスクを設定する必要があります。フルロードタスク設定の詳細については、「」を参照してください全ロードタスク設定。
注記
この移行前評価は、Aurora My SQL互換エディションまたは Aurora My SQL互換エディションサーバーレスでは使用できません。
エンドポイントの制限の詳細については、SQL「」を参照してくださいのソースとして MySQL データベースを使用するための制限 AWS DMS。
移行に使用されるテーブルで自動インクリメントが有効になっているかどうかを検証する
API キー: mysql-check-auto-increment
この移行前評価では、タスクで使用されるソーステーブルで自動インクリメントが有効になっているかどうかを検証します。DMS は、列の AUTO_INCREMENT 属性をターゲットデータベースに移行しません。
エンドポイントの制限の詳細については、SQL「」を参照してくださいのソースとして MySQL データベースを使用するための制限 AWS DMS。My での ID 列の処理についてはSQL、「 のIDENTITY列の処理 AWS DMS: パート 2
データベースバイナリログイメージが をサポートするFULL
ように に設定されているかどうかを検証する DMS CDC
API キー: mysql-check-binlog-image
この移行前評価では、ソースデータベースのバイナリログイメージが に設定されているかどうかをチェックしますFULL
。My ではSQL、 binlog_row_image
変数は、 ROW
形式を使用するときにバイナリログイベントがどのように書き込まれるかを決定します。との互換性を確保DMSし、 をサポートするにはCDC、 binlog_row_image
変数を に設定しますFULL
。この設定により、 は移行中にターゲットデータベースの完全なデータ操作言語 (DML) を構築するための十分な情報DMSを確実に受け取ります。
バイナリログイメージを に設定するにはFULL
、次の手順を実行します。
Amazon の場合RDS、この値は
FULL
デフォルトで です。オンプレミスまたは Amazon で接続されたデータベースの場合はEC2、 (Microsoft Windows) または
my.ini
()my.cnf
でbinlog_row_image
値を設定しますUNIX。
この評価は、フルロードとCDC移行、または CDCのみの移行に対してのみ有効です。この評価は、フルロードのみの移行では有効ではありません。
ソースデータベースが MySQL Read-Replica であるかどうかを検証する
API キー: mysql-check-database-role
この移行前評価では、ソースデータベースがリードレプリカであるかどうかを検証します。リードレプリカに接続するDMSときに CDCのサポートを有効にするには、 log_slave_updates
パラメータを に設定しますTrue
。セルフマネージド型マイSQLデータベースの使用の詳細については、「」を参照してくださいのソースとしてセルフマネージド My SQL互換データベースを使用する AWS DMS。
log_slave_updates
値を に設定するにはTrue
、次の手順を実行します。
Amazon ではRDS、データベースのパラメータグループを使用します。RDS データベースパラメータグループの使用の詳細については、「Amazon ユーザーガイド」の「パラメータグループの使用」を参照してください。 RDS
オンプレミスまたは Amazon で接続されたデータベースの場合はEC2、 (Microsoft Windows) または
my.ini
()my.cnf
でlog_slave_updates
値を設定しますUNIX。
この評価は、フルロードとCDC移行、または CDCのみの移行に対してのみ有効です。この評価は、フルロードのみの移行では有効ではありません。
テーブルにパーティションがあるかどうかを検証し、フルロードタスク設定target_table_prep_mode
に を推奨します。
API キー: mysql-check-table-partition
この移行前評価では、ソースデータベースにパーティションを持つテーブルが存在するかどうかをチェックします。DMS は、マイSQLターゲットにパーティションのないテーブルを作成します。パーティション分割されたテーブルをターゲットのパーティション分割されたテーブルに移行するには、以下を実行する必要があります。
ターゲット MySQL データベースにパーティション分割されたテーブルを事前に作成します。
TRUNCATE_BEFORE_LOAD
または をフルロードDMSタスク設定DO_NOTHING
として使用するようにタスクを設定します。
エンドポイントの制限の詳細については、SQL「」を参照してくださいのソースとして MySQL データベースを使用するための制限 AWS DMS。
がデータベースバージョンDMSをサポートしているかどうかを検証する
API キー: mysql-check-supported-version
この移行前評価では、ソースデータベースのバージョンが と互換性があるかどうかを検証しますDMS。CDC は、Amazon RDS My SQLバージョン 5.5 以前、または SQL8.0.x 以降のバージョンではサポートされていません。CDC は、マイSQLバージョン 5.6、5.7、または 8.0 でのみサポートされています。サポートされているマイSQLバージョンの詳細については、「」を参照してくださいデータ移行のソースエンドポイント。
ターゲットデータベースが を 1 local_infile
に設定するように設定されているかどうかを検証する
API キー: mysql-check-target-localinfile-set
この移行前評価では、ターゲットデータベースの local_infile
パラメータが 1 に設定されているかどうかをチェックします。DMS では、ターゲットデータベースへの全ロード中に「local_infile」パラメータを 1 に設定する必要があります。詳細については、「を使用して MySQL から MySQL に移行する AWS DMS」を参照してください。
この評価は、フルロードまたはフルロードとCDCタスクに対してのみ有効です。
ターゲットデータベースに外部キーを持つテーブルがあるかどうかを検証する
API キー: mysql-check-fk-target
この移行前評価では、フルロードかフルロードか、マイSQLデータベースに移行するCDCタスクに外部キーを持つテーブルがあるかどうかを確認します。のデフォルト設定DMSでは、テーブルをアルファベット順にロードします。外部キーと参照整合性の制約があるテーブルは、親テーブルと子テーブルが同時にロードされない可能性があるため、ロードが失敗する可能性があります。
の参照整合性の詳細についてはDMS、AWS DMS 移行のパフォーマンスの向上「」トピックの「インデックス、トリガー、および参照整合性制約の使用」を参照してください。
タスクスコープ内のソーステーブルにカスケード制約があるかどうかを検証する
API キー: mysql-check-cascade-constraints
この移行前評価では、ソースSQLテーブルにカスケード制約があるかどうかをチェックします。MySQL はこれらのイベントの変更をバイナリログに記録しないため、カスケード制約はDMSタスクによって移行またはレプリケートされません。 AWS DMS はこれらの制約をサポートしていませんが、リレーショナルデータベースターゲットの回避策を使用できます。
大文字と小文字の制約やその他の制約のサポートについては、「 インデックス、外部キー、カスケード更新、または削除が移行されないトピックの移行タスクのトラブルシューティング」の AWS DMS「」を参照してください。
タイムアウト値が MySQL ソースまたはターゲットに適しているかどうかを検証する
API キー: mysql-check-target-network-parameter
この移行前評価では、タスクの MySQL エンドポイントに net_wait_timeout
がありnet_read_timeout
、wait_timeout
設定が少なくとも 300 秒に設定されているかどうかをチェックします。これは、移行中の切断を防ぐために必要です。
詳細については、「ターゲットへの接続 SQLタスク中にインスタンスが切断される」を参照してください。