すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:PolarDB for MySQL クラスターから PolarDB-X 2.0 インスタンスへのデータ移行

最終更新日:Mar 29, 2026

Data Transmission Service (DTS) を使用して、PolarDB for MySQL クラスターから PolarDB-X 2.0 インスタンスへデータを移行します。DTS はスキーマ移行、完全なデータ移行、および増分データ移行をサポートしており、ダウンタイムを最小限に抑えながらスムーズな切り替えを実現します。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • PolarDB-X 2.0 インスタンスが作成済みであること

  • PolarDB-X 2.0 インスタンスの利用可能なストレージ容量が、ソースとなる PolarDB for MySQL クラスターの全データサイズより大きいこと

課金

移行タイプインスタンス構成料金インターネットトラフィック料金
スキーマ移行および完全なデータ移行無料[アクセス方法] パラメーターがターゲットデータベースで [パブリック IP アドレス] に設定されている場合に課金されます。詳しくは、「課金概要」をご参照ください。
増分データ移行課金済み。「課金概要」をご参照ください。

移行タイプ

DTS では、要件に応じて組み合わせ可能な 3 種類の移行タイプをサポートしています。

移行タイプ説明
スキーマ移行選択したオブジェクト(テーブル、ビュー、トリガー、ストアドプロシージャ、ストアドファンクション)のスキーマを移行します。routine_body(ストアドプロシージャおよびストアドファンクション)および select_statement(ビュー)は、移行中に変更できません。DTS はビュー、ストアドプロシージャ、およびストアドファンクションの SECURITY 属性を DEFINER から INVOKER に変更し、DEFINER を宛先データベースアカウントに設定します。DTS はユーザー情報は移行しません。宛先データベースでビュー、ストアドプロシージャ、またはストアドファンクションを呼び出すには、INVOKER に必要な権限を付与してください。
完全なデータ移行ソースデータベース内の選択したオブジェクトから、既存データを宛先データベースへ移行します。
増分データ移行完全なデータ移行完了後に発生する継続的な変更を移行し、アプリケーションの稼働を継続させたまま、ソースデータベースと宛先データベースを同期状態に保ちます。サポートされる SQL 操作:INSERT、UPDATE、DELETE。

推奨構成:データ整合性を確保し、切り替え時のダウンタイムを最小限に抑えるため、スキーマ移行完全なデータ移行、および 増分データ移行 を同時に選択することを推奨します。

制限事項

ソースデータベース

制限事項詳細
アウトバウンド帯域幅ソースデータベースサーバーには十分なアウトバウンド帯域幅が必要です。帯域幅が不足すると、移行速度が低下します。
テーブル制約移行対象のテーブルには、すべてのフィールドが一意である PRIMARY KEY または一意制約(UNIQUE constraint)が必要です。これを満たさない場合、宛先データベースに重複レコードが生成される可能性があります。
オブジェクト名変更時のテーブル数テーブルを移行オブジェクトとして選択し、宛先データベースでテーブルまたはカラムの名前を変更する必要がある場合、1 つのタスクで最大 1,000 個のテーブルをサポートします。1,000 個を超える場合は、複数のタスクを設定するか、データベース全体を移行してください。
完全なデータ移行中の DDL完全なデータ移行中は、ソースデータベースに対して DDL 操作を実行しないでください。DDL 操作により、移行タスクが失敗する可能性があります。
完全移行のみ実行中の書き込み増分データ移行を含めずに完全なデータ移行のみを実行する場合、移行中にソースデータベースへの書き込みを行わないでください。同時書き込みにより、データの不整合が発生する可能性があります。
増分 DDL増分 DDL 操作は移行できません。増分移行中に DDL 操作を実行する場合は、まず宛先データベースで実行し、その後ソースデータベースで実行してください。

増分データ移行のためのバイナリロギング要件:

パラメーター必須値備考
バイナリロギング機能有効化タスク開始前に有効化する必要があります。無効の場合、事前チェックが失敗します。
loose_polar_log_binonon に設定する必要があります。
バイナリログ保持期間最低 3 日間(推奨:7 日間)3 日未満で保持されたログは、タスクの失敗またはデータ損失を引き起こす可能性があります。
PolarDB for MySQL クラスターでバイナリロギングを有効化すると、バイナリログファイルのストレージ料金が発生します。設定手順については、「バイナリロギングの有効化」および「保存期間の変更」をご参照ください。

その他の制限事項

  • DTS は、ソース PolarDB for MySQL クラスターの読み取り専用ノードを移行しません。

  • DTS は、ソースクラスターの Object Storage Service (OSS) 外部テーブルを移行しません。

  • スキーマ移行中、DTS はソースデータベースから外部キー(foreign keys)を宛先データベースへ移行します。完全なデータ移行および増分データ移行中は、DTS はセッションレベルで外部キー制約(foreign key constraint)チェックおよびカスケード操作(cascade operations)を一時的に無効化します。移行中にソースデータベースでカスケード更新または削除操作が実行された場合、データの不整合が発生する可能性があります。

  • 完全なデータ移行中、同時 INSERT 操作によりテーブルスペースフラグメント(tablespace fragment)が発生します。移行完了後の宛先データベースの使用テーブルスペースは、ソースデータベースよりも大きくなります。

  • DTS は FLOAT および DOUBLE カラムの値を ROUND(COLUMN,PRECISION) を使用して取得します。精度(precision)が指定されていない場合、DTS は FLOAT に対して 38 桁、DOUBLE に対して 308 桁をデフォルト精度として設定します。これらのデフォルト値が要件を満たすかどうかを確認してください。

  • DTS は、失敗したタスクを最大 7 日間再開しようと試みます。ワークロードを宛先データベースへ切り替える前に、失敗したタスクを停止またはリリースするか、DTS アカウントの書き込み権限を取り消すために REVOKE を実行してください。そうしないと、再開された失敗タスクによって宛先データベースのデータが上書きされる可能性があります。

  • DTS は、バイナリログ位置を進めるために、ソースデータベース上で定期的に CREATE DATABASE IF NOT EXISTS \`test\` を実行します。

  • タスクが失敗した場合、DTS のテクニカルサポートが 8 時間以内に復旧を試みます。復旧時にタスクが再起動され、タスクパラメーター(データベースパラメーターではない)が変更される場合があります。

必要な権限

データベース必要な権限
PolarDB for MySQL クラスター移行対象オブジェクトに対する読み取り権限
PolarDB-X 2.0 インスタンス移行対象オブジェクトに対する読み取りおよび書き込み権限

アカウントの作成および権限の付与手順については、以下をご参照ください。

データ移行タスクの作成

ステップ 1:データ移行ページへ移動

以下のいずれかの方法で、データ移行 ページを開き、データ移行インスタンスが配置されているリージョンを選択します。

DTS コンソール:

  1. DTS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、データ移行 をクリックします。

  3. 画面左上隅で、データ移行インスタンスが配置されているリージョンを選択します。

DMS コンソール:

実際の手順は、お使いの DMS コンソールのモードとレイアウトによって異なる場合があります。「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
  1. DMS コンソール にログインします。

  2. トップナビゲーションバーで、ポインターを [Data + AI] > [DTS (DTS)] > [データ移行] 上に移動させます。

  3. データ移行タスク の右側にあるドロップダウンリストから、データ移行インスタンスが配置されているリージョンを選択します。

ステップ 2:ソースおよび宛先データベースの構成

  1. タスクの作成 をクリックして、タスク構成ページへ移動します。

  2. 以下のパラメーターを使用して、ソースおよび宛先データベースを構成します。

    警告

    ソースおよび宛先データベースの構成後、ページ上部に表示される 制限事項 を必ずご確認ください。この手順を省略すると、タスクの失敗やデータの不整合が発生する可能性があります。

    一般設定

    パラメーター説明
    タスク名DTS タスクの名前です。DTS が自動的に名前を生成しますが、タスクを容易に識別できるよう、意味のある名前を指定することを推奨します。名前は一意である必要はありません。

    ソースデータベース

    パラメーター説明
    既存の接続を選択ソースインスタンスが DTS に登録済みの場合は、ドロップダウンリストから選択してください。DTS が残りのパラメーターを自動入力します。DMS コンソールでは、DMS データベースインスタンスの選択 からインスタンスを選択します。登録されていない場合は、以下のパラメーターを手動で構成してください。
    データベースタイプPolarDB for MySQL を選択します。
    アクセス方法Alibaba Cloud インスタンス を選択します。
    インスタンスリージョンソース PolarDB for MySQL クラスターが配置されているリージョンです。
    PolarDB インスタンス IDソース PolarDB for MySQL クラスターの ID です。
    データベースアカウントソースクラスターのアカウントです。「必要な権限」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。
    暗号化接続を暗号化するかどうかを指定します。要件に応じて設定してください。詳細については、「SSL 暗号化の設定」をご参照ください。

    宛先データベース

    パラメーター説明
    既存の接続を選択宛先インスタンスが DTS に登録済みの場合は、ドロップダウンリストから選択してください。DTS が残りのパラメーターを自動入力します。DMS コンソールでは、DMS データベースインスタンスの選択 からインスタンスを選択します。登録されていない場合は、以下のパラメーターを手動で構成してください。
    データベースタイプPolarDB-X 2.0 を選択します。
    アクセス方法Alibaba Cloud インスタンス を選択します。
    インスタンスリージョンPolarDB-X 2.0 インスタンスが配置されているリージョンです。
    インスタンス ID宛先 PolarDB-X 2.0 インスタンスの ID です。
    データベースアカウント宛先インスタンスのアカウントです。「必要な権限」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。
  3. 接続テストと続行 をクリックします。

    ソースおよびターゲットデータベースのセキュリティ設定に、DTS サーバーの CIDR ブロックが追加されていることを確認してください。詳細については、「DTS サーバーの CIDR ブロックをセキュリティ設定に追加する」をご参照ください。

ステップ 3:移行オブジェクトの構成

  1. オブジェクトの構成 ページで、以下のパラメーターを構成します。

    スキーマ移行 を選択しない場合、事前に宛先データベースでターゲットデータベースおよびテーブルを作成し、選択したオブジェクト でオブジェクト名マッピング機能を有効化してください。増分データ移行 を選択しない場合、データ整合性を維持するため、移行中にソースデータベースへの書き込みを行わないでください。オブジェクト名マッピング機能によるオブジェクト名の変更は、依存オブジェクト(dependent object)の移行失敗を引き起こす可能性があります。
    パラメーター説明
    移行タイプ要件に応じて移行タイプを選択します。- 一度限りの移行を行う場合: スキーマ移行 および 完全なデータ移行 を選択します。- 最小限のダウンタイムで継続的な同期(推奨)を行う場合:スキーマ移行完全なデータ移行、および 増分データ移行 を選択します。
    競合テーブルの処理モード- 事前チェックとエラー報告 (推奨): ターゲットデータベース内のテーブルがソーステーブルと同じ名前であるかをチェックします。競合が存在する場合、事前チェックは失敗します。競合するターゲットテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して移行されたテーブルの名前を変更します。詳細については、「オブジェクト名をマッピング」をご参照ください。
    エラーを無視して続行: 名前競合の事前チェックをスキップします。注意して使用してください。完全移行中、DTS は既存のターゲットレコードと競合するレコードをスキップします。増分移行中、DTS は競合するターゲットレコードを上書きします。スキーマが異なる場合、特定の列のみが移行されるか、タスクが失敗する可能性があります。
    ソースオブジェクトソースオブジェクト セクションからオブジェクトを選択し、右向き矢印(rightwards arrow)アイコンをクリックして、選択したオブジェクト セクションに追加します。選択可能なオブジェクトには、カラム、テーブル、およびスキーマが含まれます。テーブルまたはカラムを選択すると、ビュー、トリガー、ストアドプロシージャなどの他のオブジェクトタイプは除外されます。
    選択したオブジェクト- 単一オブジェクトの名前を変更するには、オブジェクトを右クリックし、「単一オブジェクトの名前をマップする」をご参照ください。- 複数のオブジェクトの名前を一度に変更するには、[バッチ編集] をクリックし、「複数のオブジェクト名を一度にマップする」をご参照ください。- 行をフィルターするには、オブジェクトを右クリックして WHERE 条件を指定し、「フィルター条件を指定する」をご参照ください。- テーブルに特定の SQL 操作を選択するには、オブジェクトを右クリックして操作を選択します。
  2. 次へ:高度な設定 をクリックし、以下のパラメーターを構成します。

    複数のタスクが同じソースまたは宛先データベースを共有し、再試行時間の設定が異なる場合、最も最近構成された値が適用されます。再試行期間中も DTS インスタンスの使用量に対して課金されます。ビジネス要件に応じて再試行時間を設定し、移行完了後は速やかに DTS インスタンスをリリースすることを推奨します。
    パラメーター説明
    タスクスケジューリング用の専用クラスターデフォルトでは、DTS はタスクを共有クラスターにスケジュールします。より高い安定性が必要な場合は、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。
    接続失敗時の再試行時間タスク開始後に、DTS が接続失敗を再試行する時間です。有効範囲:10~1,440 分。デフォルト:720 分。最低でも 30 分以上に設定してください。この期間内に DTS が再接続できた場合、タスクは再開します。それ以外の場合は、タスクが失敗します。
    その他の問題発生時の再試行時間DTS が失敗した DDL または DML 操作を再試行する時間です。有効範囲:1~1,440 分。デフォルト:10 分。最低でも 10 分以上に設定してください。この値は、接続失敗時の再試行時間 より小さくする必要があります。
    完全なデータ移行の負荷制御の有効化完全移行中の読み取り/書き込み負荷を制限します。有効化した場合、ソースデータベースへのクエリ数(QPS)完全なデータ移行の RPS、および 完全移行のデータ移行速度(MB/s) を構成します。完全なデータ移行 が選択されている場合にのみ利用可能です。
    増分データ移行の負荷制御の有効化増分移行中の負荷を制限します。有効化した場合、増分データ移行の RPS および 増分移行のデータ移行速度(MB/s) を構成します。増分データ移行 が選択されている場合にのみ利用可能です。
    環境タグDTS インスタンスを識別するための任意のタグです。
    転送および逆再生タスクのハートビートテーブルに対する SQL 操作の削除有無DTS がハートビートテーブル操作をソースデータベースに書き込むかどうかを制御します。はい:ハートビート操作を書き込みません(レイテンシー表示が表示される場合があります)。いいえ:ハートビート操作を書き込みます(ソースデータベースの物理バックアップおよびクローン作成に影響を与える可能性があります)。
    ETL の構成ETL (抽出·変換·書き出し) を有効にするかどうか。 はい: ETL コードエディタが開きます。 詳細については、「データ移行またはデータ同期タスクで ETL を設定する」および「ETL とは」をご参照ください。 いいえ: ETL を無効にします。
    モニタリングとアラートタスク失敗またはレイテンシーしきい値に関するアラートを受信するかどうか。はい: アラートのしきい値と通知設定を設定します。「DTS タスクを作成するときにモニタリングとアラートを設定する」を参照してください。いいえ: アラートは発行されません。
  3. [データ検証]へ進む」をクリックして、データ検証タスクを設定します。詳細については、「データ検証タスクの設定」をご参照ください。

ステップ 4:事前チェックの実行

  • このタスクの API パラメーターをプレビューするには、次へ:タスク設定の保存と事前チェック の上にポインターを合わせ、OpenAPI パラメーターのプレビュー をクリックします。

  • 次へ:タスク設定の保存と事前チェック をクリックして、設定を保存し、事前チェックを開始します。

DTS は、移行を開始する前に事前チェックを実行します。事前チェックが成功した場合にのみ、タスクが開始されます。

事前チェックが失敗した場合:

  • 失敗した項目の横にある 詳細の表示 をクリックし、原因を確認して問題を修正した後、再び事前チェック をクリックします。

  • 無視可能なアラート項目の場合:アラートの詳細の確認 > 詳細の表示 > 無視 > OK の順にクリックし、その後 再び事前チェック をクリックします。

アラート項目を無視すると、データの不整合やその他のリスクが発生する可能性があります。

ステップ 5:移行インスタンスの購入および起動

  1. 成功率100% に達するまで待機し、次へ:インスタンスの購入 をクリックします。

  2. インスタンスの購入 ページで、以下のパラメーターを構成します。

    パラメーター説明
    リソースグループ移行インスタンスのリソースグループです。デフォルト: デフォルトリソースグループResource Management とは
    インスタンスクラス移行インスタンスのクラスによって移行速度が決まるため、ワークロードに基づいてクラスを選択してください。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。
  3. Data Transmission Service(従量課金)サービス利用規約 を確認し、チェックボックスをオンにして同意します。

  4. 購入および起動 をクリックし、確認ダイアログで OK をクリックします。

移行タスクの監視

タスクを起動した後、データ移行 ページでその進行状況を監視できます。

移行構成ステータス動作
スキーマ移行および完全なデータ移行のみタスクは完了時に自動的に停止します。ステータス 列に 完了 と表示されます。
増分データ移行を含むタスクは継続して実行され、自動的に停止しません。ステータス 列に 実行中 と表示されます。

次のステップ