tencent cloud

Data Transfer Service

MySQL/MariaDB/PerconaからMySQLへの同期

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-11-02 10:31:42
AI翻訳

操作シナリオ

このドキュメントでは、DTSを使用してMySQL、MariaDB、PerconaデータベースからTencentDB for MySQLへデータを同期するプロセスについて説明します。
ソース/ターゲットデータベースがサポートする配置形態とバージョンは以下の通りです:
同期リンク
ソースデータベースおよびバージョン
ターゲットデータベースおよびバージョン
MySQL > MySQL
IDC/CVM 自建 MySQL/軽量データベース MySQL
IDC自己構築/CVM自己構築 MySQL/軽量データベース MySQL
第三者クラウドプロバイダー MySQL
TencentDB for MySQL
サードパーティクラウドプロバイダーのMySQL
IDC自己構築/CVM自己構築 MySQL/軽量データベース MySQL
第三者クラウドプロバイダー MySQL
TencentDB for MySQL
TencentDB for MySQL
同じTencent Cloudメインアカウント配下のデータベース間同期
異なるTencent Cloudメインアカウント配下のデータベース間同期
IDC自己構築/CVM自己構築 MySQL/軽量データベース MySQL
第三者クラウドプロバイダー MySQL
TencentDB for MySQL
MariaDB > MySQL
IDC/CVM 自建 MariaDB
IDC自己構築/CVM自己構築 MySQL/軽量データベース MySQL
第三者クラウドプロバイダー MySQL
TencentDB for MySQL
TencentDB for MariaDB
同じTencent Cloudメインアカウント配下のデータベース間同期
IDC自己構築/CVM自己構築 MySQL/軽量データベース MySQL
第三者クラウドプロバイダー MySQL
TencentDB for MySQL
Percona > MySQL
IDC/CVM 自建 Percona
IDC自己構築/CVM自己構築 MySQL/軽量データベース MySQL
第三者クラウドプロバイダー MySQL
TencentDB for MySQL
MySQL、MariaDB、PerconaからTencentDB for MySQLへの同期は、3つのシナリオにおける同期要件と操作手順がほぼ同じであるため、本章ではMySQLからMySQLへのデータ同期を例として説明します。その他のシナリオについては、関連内容を参照してください。

サポート機能

機能カテゴリ
機能サブ項目または説明
サポート機能
同期オブジェクト
-
通常のオブジェクトテーブル、インデックス、ビュー、ストアドプロシージャおよび関数
同期タイプ
-
構造同期
全量同期(全量完了後、自動的に増分に引き継ぎます)
増分同期
ブレークポイントレジューム
-
フルエクスポートは部分的にサポートされます(構造エクスポート、PKなしテーブルエクスポート段階では再開をサポートしません)。
全量インポート、増分をサポートします。
タスクチャネルの主要操作
再試行
対応
一時停止、再開
対応
同期設定の変更(テーブルオブジェクトの動的な追加・削除)
対応
類似タスクの作成
対応
速度制限
対応
同期方向
多対一(複数インスタンスの統合/複数テーブルの統合)
対応
一对多
対応
双方向同期
対応
同一インスタンス内同期(一対一のみサポート)
MySQLからMySQLへの同期のみサポートされます。
構造同期
データベース・テーブルのフィルタリング
対応
列フィルタリング
対応
データベース・テーブル名マッピング
対応
列名マッピング
対応
フル同期
Where条件フィルタリング
対応
増分同期
PK競合ポリシー
競合無視、競合エラー、競合上書き
DML同期(INSERT/UPDATE/DELETE)
対応
DMLフィルタリング
対応
DDL同期
DROP DATABASE、ALTER DATABASE。
CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、RENAME TABLE。
CREATE VIEW、DROP VIEW。
CREATE INDEX、DROP INDEX。
DDLフィルタリング
対応
Where条件フィルタリング
対応
指定時点同期
対応
OnlineDDL
対応
データ一貫性の検証
インスタンス全体検証
対応
行数検証
対応
サンプリング検証
対応
Where条件フィルタリング後、一貫性の検証(独立検証)をサポートします。
対応
指定列で一貫性の検証(独立検証)をサポートします。
対応

ビジネスへの影響

1. DTSはフルデータ同期を実行する際に、ソースデータベースの全データを一度読み取るため、ソースデータベースの負荷が増加します。データベースのスペックが低すぎる場合は、業務の低ピーク時に同期タスクを実行するか、タスク開始前にDTSのレートを下げることをお勧めします。
ソースデータベースのスペックが異なれば、影響も異なります。ソースデータベースのスペックが8コア16Gの場合を例にとると、DTSタスクはデフォルトで8スレッドの並行処理を採用します(調整可能)。ネットワークにボトルネックがない場合、DTSタスクがソースデータベースに与える性能影響は以下の通りです:
DTSフルエクスポート段階:ソースデータベースのCPUを約18%~45%占有し、ソースデータベースに約40~60MB/sのクエリ負荷を増加させ、約8個のアクティブsession接続数を占有します。
DTS増分エクスポート段階:ソースデータベースにほぼ負荷をかけず、1つの接続のみがソースデータベースのbinlogログをリアルタイムで監視します。
2. デフォルトではロックフリー方式を採用し、同期中はソースデータベースにグローバルロック(FTWRL)をかけず、主キーがないテーブルにのみテーブルロックをかけ、その他にはロックをかけません。
3. データ同期時、DTSは同期タスクを実行するアカウントを使用してソースデータベースにシステムデータベース__tencentdb__を書き込み、同期タスクプロセス中のデータ比較情報を記録します。このシステムデータベースを削除しないでください。
後続のデータ比較問題を特定できるようにするため、同期タスク終了後もソースデータベース内の__tencentdb__は削除されません。
__tencentdb__システムデータベースが占有する容量は非常に小さく、ソースデータベースのストレージ容量の約1000分の1から1万分の1です(例えば、ソースデータベースが50GBの場合、__tencentdb__システムデータベースは約5MB~50MBです)。また、シングルスレッドと接続待機メカニズムを採用しているため、ソースデータベースのパフォーマンスにはほとんど影響を与えず、リソースを奪い合うこともありません。

事前準備

1. 使用するアクセスタイプに応じて、事前にDTSとデータベース間のアクセス経路を確立してください。詳細についてはネットワーク準備作業を参照してください。
IDC自己構築データベース/その他のクラウドベンダーデータベース:アクセス方式は「パブリックネットワーク/Direct Connect/VPNアクセス/CCN」を選択できます。
CVM上の自己構築データベース:アクセス方式は「CVM自己構築」を選択します。
Tencent Cloudデータベースインスタンス:アクセス方式は「クラウドデータベース」を選択します。
Lighthouse上の軽量データベース:アクセス方式は「パブリックネットワーク」を選択します。
2. ソースデータベースでタスク実行アカウントに権限を付与します。以下の通りです。
GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHOW VIEW,PROCESS,SELECT ON *.* TO 'アカウント'@'%' IDENTIFIED BY 'パスワード';
//ソースデータベースがAlibaba Cloudデータベースの場合、SHOW DATABASESの権限付与は不要ですが、少なくとも1つの非システムデータベースを作成する必要があります。そうしないと、事前検証タスクが失敗します。その他の非Alibaba Cloudデータベースのシナリオでは権限付与が必要です。Alibaba Cloudデータベースの権限付与については、https://help.aliyun.com/document_detail/96101.htmlを参照してください。
GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO 'アカウント'@'%';
FLUSH PRIVILEGES;


#(1)タスク実行アカウントの作成
CREATE USER 'アカウント'@'%' IDENTIFIED BY 'パスワード';
#(2)権限を付与します。
GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW VIEW,PROCESS ON *.* TO 'アカウント'@'%';
GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO 'アカウント'@'%';
#(3)SELECT権限を付与します。
#(3.1)インスタンス全体を同期する場合、すべてのオブジェクトに権限を付与します。
GRANT SELECT ON *.* TO 'アカウント';
#(3.2)指定オブジェクトを選択して同期する場合、対応するオブジェクトのみに権限を付与します。
GRANT SELECT ON `mysql`.* TO 'アカウント'@'%';
GRANT SELECT ON 移行対象のデータベース.* TO 'アカウント';
#(4)権限を更新します。
FLUSH PRIVILEGES;
3. ターゲットデータベースでタスク実行アカウントに権限を付与します。必要な権限は以下の通りです。
ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE USER, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, RELOAD, SELECT, SHOW DATABASES, SHOW VIEW, TRIGGER, UPDATE。

使用説明

同期オブジェクト

1. 異なるインスタンス間の同期と、同一インスタンス内の同期をサポートします。
2. 基本テーブル、ビュー、ストアドプロシージャ、および関数の同期のみをサポートします。
3. 相互に関連するデータオブジェクトは一緒に同期する必要があります。そうしないと同期が失敗します。一般的な関連関係:ビューによるテーブル参照、ビューによるビュー参照、主キー・外部キー関連テーブルなどがあります。
4. データの重複を避けるために、主キーまたは非NULLの一意キーを持つテーブルを同期することをお勧めします。
5. ソース側インスタンス全体を選択しての同期はサポートされていません。後続の同期タスクで、ソース側に新しいデータベースを作成する操作(CREATE DATABASE)がある場合、同期タスクの開始前に、ターゲット側で該当するデータベースオブジェクトをあらかじめ作成するか、同期タスクの開始後に、同期設定の変更操作によって新しく追加されたデータベースオブジェクトを追加することをお勧めします。
6. 同期タスクの進行中に、ソース側でCREATE TABLE、RENAME TABLEの操作が発生した場合、設定段階で同期オブジェクトを選択する際に、該当テーブルが属するデータベース全体を選択してください。そうしないと、新規作成されたテーブルやRENAME後のテーブルはターゲット側に同期されません。
7. ビュー、ストアドプロシージャ、および関数を同期する際、DTSはソースデータベース内のDEFINERに対応するuser1([DEFINER = user1])と同期アカウントuser2が一致するかどうかをチェックします。一致しない場合、同期後にDTSはターゲットデータベース内のuser1のSQL SECURITY属性を変更し、DEFINERからINVOKERに変換します([INVOKER = user1])。同時に、ターゲットデータベース内のDEFINERを同期アカウントuser2に設定します([DEFINER = 同期アカウントuser2])。ソースデータベース内のビュー定義が複雑すぎる場合、タスクが失敗する可能性があります。
8. ソースデータベースがAlibaba Cloud MySQLの場合、Alibaba Cloud MySQL 5.6バージョンの同期対象テーブルにはPKなしテーブルが存在してはいけません。MySQL 5.7以降のバージョンでは制限されません。ソースデータベースがAWS MySQLの場合、AWS MySQLの同期対象テーブルにはPKなしテーブルが存在してはいけません。
9. InnoDB、TokuDB、RocksDBの3種類のデータベースエンジンのみ同期をサポートします。これら以外のデータエンジンテーブルが存在する場合、デフォルトでスキップされ同期されません。なお、ソースデータベースに圧縮モードのTokuDBエンジンデータが存在する場合、ターゲットデータベースが圧縮モードを同期サポートしている必要があります。そうでない場合、タスクはエラーを報告します。
10. ターゲット側がTencent Cloud MySQLデータベースインスタンスであり、かつRocksDBエンジンである場合、ソース側のInnoDB/TokuDBエンジンをターゲットのRocksDBエンジンに変換することをサポートします。ただし、InnoDBをRocksDBエンジンに変換する際には以下の制約があります。
10.1 ソースデータベースの移行対象テーブルの主キーまたは主キーの一部がTINYTEXT、TEXT、MEDIUMTEXT、LONGTEXTのフィールドタイプである場合、ターゲット側ではこれらのフィールドタイプで「値の等価判定」がサポートされていないため、関連する「値の等価判定」のSQL(例えばDELETE FROM table_name WHERE primary_key_column = 'some text')はターゲット側に同期された後、有効になりません。最終的にターゲット側とソース側のデータ結果が一致しなくなる可能性があります。
10.2 データの一貫性検証を行う際、ソースデータベースの移行対象テーブルの主キーまたは主キーの一部がTINYTEXT、TEXT、MEDIUMTEXT、LONGTEXTのフィールドタイプであり、かつテーブルの行数が5万行を超える場合、そのテーブルはスキップされ、一貫性検証は行われません。
10.3 RocksDBエンジンとInnoDBエンジンではDOUBLEデータ型の基盤となるストレージに違いがあるため、ソース側のDOUBLE値が上限に近い場合(例えば-1.7976931348623157E+308)、一貫性検証タスクの作成時に誤検出が発生する可能性があります。実際のデータは一致していますが、検証結果は不一致と表示されます。
10.4 パーティション(partition)を含むテーブルの移行はサポートされていません。
11. 同期プロセス中、CREATE TABLE ... AS SELECTステートメント内のCREATE操作は、独立した新しいGTIDトランザクションを生成します。

データ型

1. 増分同期中に、ソースデータベースでSTATEMENT形式のBinlogステートメントが生成された場合、同期が失敗します。
2. ソースデータベースのBinlogのGTIDに欠落が存在する場合、同期タスクのパフォーマンスに影響を与え、タスクの失敗を引き起こす可能性があります。
3. 1つのトランザクションにDML文とDDL文が同時に含まれるシナリオはサポートされていません。この状況が発生した場合、タスクはエラーを報告します。
4. ALTER VIEWステートメントはサポートされていません。このステートメントが検出された場合、タスクはスキップされ、同期されません。
5. MySQL、TDSQL-C MySQL相互間の同期リンクにおけるJSONデータ型に関する特記事項。
5.1 精度要件のあるデータについては、decimalなどのデータ型を使用して個別に記録することをお勧めします。JSONデータ型の使用はお勧めしません。MySQL自体のJSON内のfloatデータ処理の問題により、小数点以下6桁以上のデータ精度が失われるためです。
5.2 DTSにおけるJSONタイプの浮動小数点数の処理に関する説明。
5.2.1 MySQL5.7以前のバージョンをターゲット側として使用する場合、MySQL5.7自体の処理問題により、ソース側のJSONタイプの浮動小数点数がx.0である場合、ターゲット側に同期されるとxになる可能性があります。例えば、ソースデータが{"a":12.0}の場合、ターゲットに同期されると{"a":12}に変わります。
5.2.2 MySQL5.7以前のバージョンをソース側、MySQL8.0以降のバージョンをターゲット側として使用する場合、MySQL5.7自体の処理問題により、ソース側のJSONタイプの浮動小数点数がx.0であっても、SELECTで読み取るとxになり、binlogにはこの値の型が浮動小数点型として記録されます。DTSがターゲット側に同期する際には浮動小数点数として処理されるため、ターゲット側ではx.0になります。例えば、ソースデータが{"a":12.0}の場合、SELECTで読み取ると{"a":12}になり、ターゲットに同期すると{"a":12.0}に変わります。
5.2.3 バージョンに関係なく、ソース側のJSONタイプの浮動小数点数で小数点以下が1桁を超えるもの(例:{"a":12.00}、{"a":12.000})は、ターゲット側に同期されるとすべて{"a":12.0}に変わります。

HA切り替え

ソース側が非GTIDインスタンスの場合、DTSはソース側のHA切り替えをサポートしません。ソース側のMySQLで切り替えが発生すると、DTSの増分同期が中断される可能性があります。

PK競合ポリシー

PK競合戦略として「競合エラー」を選択した場合、タスクのフル同期段階では、ターゲット側で二重書き込みを行わないでください。そうしないと、PK競合が発生しても、DTSはエラーを報告せず、ソース側のデータでターゲット側を上書きします。

操作制限

同期中に以下の操作を行わないでください。行った場合、同期タスクが失敗する可能性があります。
1. 構造初期化とフルデータ初期化を選択したシナリオで、同期タスクのステップが「フルエクスポート」または「フルインポート」の場合、DDL操作はサポートされません。
2. ソースデータベースとターゲットデータベース内のユーザー情報(ユーザー名、パスワード、権限を含む)とポート番号を変更、削除しないでください。
3. ソースデータベース上でBinlogを削除する操作を実行しないでください。

同一インスタンス内同期の使用制限

同一インスタンス内同期は、より複雑な同期シナリオに該当します。そのため、同じデータベースインスタンス上では、同一インスタンス内同期タスクを1つだけ作成するか、複数のタスクの同期オブジェクトが重複しないようにして、データ同期で予期しない結果が発生するのを防ぐことをお勧めします。
同一インスタンス内同期シナリオの使用制限には、以下の制限が含まれますが、これらに限定されません:
1. 名前変更の要件
同一インスタンス内でデータベース・テーブルを同期する場合、Binlogのループを回避するために、データベース・テーブル名を必ず変更する必要があります。これにより、DTSタスクの失敗やデータ異常を防ぎます。そのため、データベース全体を同期する場合は、データベース名を必ず変更する必要があります。単一テーブルを同期する場合は、テーブル名のみを変更できます。インスタンス全体の同期はサポートされていません(名前変更の要件を満たさないため)。
同一インスタンス内の単一テーブル同期の場合、該当するデータベースに対する操作を禁止する必要があります。例えば、db1.t1をdb1.t2に同期する場合、ソースデータベースでは、DDLループを引き起こしてDTSタスクが失敗するのを防ぐため、該当するデータベース(db1)に対するCREATE/DROP/ALTER DATABASE操作を実行しないでください。
2. 同一インスタンス内同期では、カスケード同期と双方向同期はサポートされません
同一インスタンス内で複数のカスケード同期または双方向同期タスクを作成することはサポートされていません。例えば、複数のカスケード同期(例:同じデータベースインスタンス上に2つのタスクを設定し、タスク1でtable aをtable bに同期し、タスク2でtable bをtable cに同期することで、table aからtable b、table cへのカスケードを実現する場合)や双方向同期(例:同じデータベースインスタンス上に2つのタスクを設定し、タスク1でtable aをtable bに同期し、タスク2でtable bをtable aに同期することで、table aとtable bの双方向同期を実現する場合)はサポートされていません。
同一インスタンス内の同期タスク内部でカスケードを構築することはサポートされていません。例えば、table aをtable bに同期し、table bをtable cに同期することで、タスク内でtable aからtable b、さらにtable cへのカスケードを形成することを期待する場合です。
3. 同一インスタンス内同期では、複雑なトポロジーはサポートされません
同一インスタンス内同期と上流・下流の他のDTSタスクがより複雑なトポロジーを構成する場合、データフローの状況はより複雑になり、データが期待どおりの結果になることを保証できない可能性があります。このような使用方法はお勧めしません。

一貫性の検証

同期タスクの増分検証中に同期設定を変更した場合、増分検証が失敗するため、検証タスクを再度開始する必要があります。

同期サポート対象のSQL操作

操作タイプ
SQL操作文
DML
INSERT、UPDATE、DELETE
DDL
DROP DATABASE、ALTER DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、RENAME TABLE、CREATE VIEW、DROP VIEW、CREATE INDEX、DROP INDEX
説明:
データ同期機能は現在、インスタンス全体を選択しての同期をサポートしていないため、CREATE DATABASE文はサポートされていません。

操作手順

1. DTSコンソールにログインし、左側のナビゲーションでデータ同期を選択し、同期タスクの新規作成をクリックして、同期タスクの新規作成ページに入ります。
2. 新しい同期タスクページで、移行するソースインスタンスタイプと所属地域、ターゲットインスタンスタイプと所属地域、スペックなどを選択し、今すぐ購入をクリックします。
パラメータ
説明
作成モード
新規タスク:新しいタスクを新規作成します。
類似タスクの作成:履歴タスクと同じ設定のタスクをすばやく作成します。新しいタスクでは、データベースタイプや課金モードなど、デフォルトで入力されるオプションは履歴タスクと同様に維持され、必要に応じてユーザーが変更することもできます。
課金モデル
年額・月額と従量課金をサポートします。
ソースインスタンスタイプ
MySQLを選択します。購入後は変更できません。
ソースインスタンスの地域
ソースインスタンスの所在地域を選択します。購入後は変更できません。
ターゲットインスタンスタイプ
MySQLを選択します。購入後は変更できません。
ターゲットインスタンスの地域
目的インスタンスの所在地域を選択します。購入後は変更できません。
仕様
ビジネス要件に応じてスペックを選択してください。スペックが高いほど、性能が向上します。詳細については、課金概要をご参照ください。
タグ
同期タスクにタグキーとタグ値を設定し、タグによって複数のタスクを効率的に管理できます。
タスク名
作成後に名前を付けるを選択した場合、デフォルトのタスク名はタスクIDと一致します。同期タスクの作成が完了した後、タスク名を再設定できます。
「今すぐ名前を付ける」を選択し、下の入力欄にタスク名を入力します。
契約条件
必ず「『クラウドデータベースサービス条項』を読み、同意しました」にチェックを入れてください。
3. 購入完了後、データ同期リストに戻ると、作成したばかりのデータ同期タスクが表示されます。作成したばかりの同期タスクは、設定を行ってから使用できます。
4. データ同期リストで、操作列の設定をクリックし、同期タスクの設定ページに進みます。

5. 同期ソースとターゲットデータベースの設定ページで、ソースとターゲットデータベースなどの情報を入力し、接続テストをクリックします。接続テスト後、次へをクリックします。
説明:
同期タスクは同一インスタンス内の同期をサポートしています。タスクを設定する際は、ソースインスタンスとターゲットインスタンスを同じインスタンスに設定してください。



タスク設定
パラメータ
説明
タスク名
DTSはタスク名を自動生成します。ユーザーが業務上意味のある名前に変更することをお勧めします。タスクの識別が容易になります。
実行モード
即時実行:事前検証に合格すると、タスクが直ちに開始されます。
定时実行:タスクの実行開始時間を設定します。事前検証に合格してもタスクは開始されず、設定した時間になると開始されます。
自動再試行
設定後、同期タスクがネットワーク異常などによって一時的に中断された場合、DTSは設定された時間内にタスクを自動的に再試行して再開します。ユーザーによる手動操作は不要です。
設定可能な時間範囲は5分~720分です。
ソースデータベースの設定
パラメータ
説明
ソースインスタンスタイプ
購入時に選択したソースインスタンスタイプは変更できません。
ソースインスタンスの地域
購入時に選択したソースインスタンスの所在地域は変更できません。
サービスプロバイダー
自己構築データベース(CVM上の自己構築を含む)、Tencent Cloudデータベースインスタンス、軽量データベースの場合は、「通常」を選択してください。
サードパーティクラウドベンダーデータベースの場合は、対応するサービスプロバイダーを選択してください。
アクセスタイプ
ソースデータベースの配置状況に応じて選択してください。配置シナリオによって必要なネットワーク操作が異なります。詳細については、ネットワーク準備作業の概要を参照してください。
ソースデータベースがIDC自己構築データベース/その他のクラウドベンダーデータベースの場合:アクセスタイプは「パブリックネットワーク/Direct Connect/VPNアクセス/CCN」を選択できます。
公衆網:ソースデータベースにはパブリックIPアドレスでアクセスできます。
Direct Connect:ソースデータベースはDirect Connectを介してTencent Cloud VPCと接続できます。
VPNアクセス:ソースデータベースはVPN Connectionsを介してTencent Cloud VPCと接続できます。
CCN:ソースデータベースはCCNを介してTencent Cloud VPCと接続できます。
VPC:ソースデータベースとターゲットデータベースはすべてTencent Cloud上に配置されており、VPCがあります。VPCアクセスタイプを使用する必要がある場合は、チケットを提出して申請してください。
ソースデータベースがCVM上の自己構築データベースの場合:アクセスタイプは「CVM自己構築」を選択します。
ソースデータベースがTencent Cloudデータベースインスタンスの場合:アクセスタイプは「クラウドデータベース」を選択します。
ソースデータベースがLighthouse上の軽量データベースの場合:アクセスタイプは「パブリックネットワーク」を選択します。
パブリックネットワーク
アクセスタイプで「パブリックネットワーク」を選択した場合、以下のパラメータを設定する必要があります。
ホストアドレス:ソースデータベースのIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
CVMでの自己構築
アクセスタイプで「CVM自己構築」を選択した場合、以下のパラメータを設定する必要があります。
CVMインスタンス:CVMのインスタンスID。
ポート:ソースデータベースが使用するポート。
Direct Connect (DC)
アクセスタイプで「Direct Connect」を選択した場合、以下のパラメータを設定する必要があります。
VPC Direct Connectゲートウェイ:Direct Connectアクセス時はVPC Direct Connectゲートウェイのみサポートされます。ゲートウェイに関連付けられたネットワークタイプを確認してください。
VPC:VPCとサブネットを選択します。
ホストアドレス:ソースデータベースのIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
VPNアクセス
アクセスタイプで「VPN アクセス」を選択した場合、以下のパラメータを設定する必要があります。
VPNゲートウェイ:VPNゲートウェイIDを選択してください。
VPC:VPNゲートウェイに関連付けられたVPCとサブネットを選択します。
ホストアドレス:ソースデータベースのIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
クラウドデータベース
アクセスタイプで「クラウドデータベース」を選択した場合、以下のパラメータを設定する必要があります。
クロスアカウントかどうか
本アカウント:ソースデータベースインスタンスとターゲットデータベースインスタンスが属するメインアカウントは、同じTencent Cloudメインアカウントです。
クロスアカウント:ソースデータベースインスタンスとターゲットデータベースインスタンスが属するメインアカウントは、異なるTencent Cloudメインアカウントです。クロスアカウント操作の手順については、クラウドデータベースのクロスアカウントインスタンス間移行を参照してください。
クラウドデータベースインスタンス:ソースデータベースのインスタンスID。
検証方式:データベースにアクセスするための認証方式を選択します。値は以下の通りです:
パスワード:データベースアカウントとパスワードを使用して認証を行います。
CAM検証:Tencent CloudのCAMを使用して認証を行います。データベースパスワードを入力する必要はありません。
CCN
アクセスタイプで「CCN」を選択した場合、以下のパラメータを設定する必要があります。
CCNアクセス時には、同一アカウントのCCNとクロスアカウントのCCNがサポートされます。ネットワーク接続の設定が多いため、CCN経由で自己構築データベースをTencent Cloudデータベースに移行する方法を参照してください。
ホストが所在するネットワーク環境:実際の状況に応じて選択してください。例えば、ソースデータベースがTencent Cloudデータベースインスタンスの場合は「Tencent Cloud」を選択します。ソースデータベースがIDCの自己構築データベースの場合は「自己構築IDC」を選択します。ソースデータベースが他のクラウドベンダーのデータベースの場合は、対応するネットワークを選択します。
ホストアドレス:ソースデータベースのホストIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
CCNインスタンスが属するアカウント
マイアカウント:CCNリソースとターゲットデータベースは、同じTencent Cloudメインアカウントに属します。
その他のアカウント:CCNリソースとターゲットデータベースは、異なるTencent Cloudメインアカウントに属します。
VPC CCN:CCNインスタンス名。
CCN関連VPCおよびサブネット:「CCN関連VPC」とは、CCN内で同期リンクに接続されるVPCを指します。CCNに関連付けられているすべてのVPCの中から、ソースデータベースが属するVPC以外のVPCを選択してください。
VPC所属地域:タスク購入時に選択したソースデータベースの地域とアクセスVPCの地域は一致している必要があります。一致していない場合、DTSはタスク購入時に選択したソースデータベースの地域をアクセスVPCの地域に変更します。
VPC
アクセスタイプで「VPC」を選択した場合、以下のパラメータを設定する必要があります。
VPC:VPCネットワークとサブネットを選択します。
ホストアドレス:ソースデータベースのIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
アカウント/パスワード
アカウント/パスワード:ソースデータベースのアカウント、パスワード。
接続方式
SSLセキュア接続とは、DTSとデータベースがSSL(Secure socket layer)で安全に接続し、伝送リンクを暗号化することを指します。
SSLセキュア接続を選択すると、データベースの接続応答時間が増加する可能性があります。一般的にTencent Cloudのプライベートネットワークリンクは比較的安全であるため、SSLセキュア接続を有効にする必要はありません。パブリックネットワーク/専用線などの伝送方式を使用し、かつデータセキュリティ要件が高いシナリオでは、SSLセキュア接続を有効にする必要があります。SSLセキュア接続を選択する前に、まずデータベースでSSL暗号化を有効にする必要があります。
ターゲットデータベースの設定
ターゲットデータベースのパラメータ設定はソースデータベースと類似しています。アクセスタイプは実際の状況に応じて選択します。ここではこれ以上説明しません。
6. 同期オプションと同期オブジェクトの設定ページで、データ初期化オプション、データ同期オプション、同期オブジェクトオプションを設定します。設定が完了したら、保存して次へをクリックします。
説明:
初期化タイプで全量データ初期化のみを選択した場合、システムはユーザーがターゲットデータベースにテーブル構造を作成済みであるとデフォルトで見なします。テーブル構造の同期は行われず、ソースデータベースとターゲットデータベースに同名のテーブルが存在するかどうかも検証されません。したがって、ユーザーが同時に既存の同名テーブルで事前検証してエラー報告を選択しても、検証してエラー報告する機能は有効になりません。
ユーザーが同期中に特定のテーブルに対してrename操作を行うことが確実な場合(例えば、table Aをtable Bにrenameする場合)、同期オブジェクトはtable Aが属するデータベース全体(またはインスタンス全体)を選択する必要があります。table Aのみを選択することはできません。そうしないと、rename操作後、table Bのデータはターゲットデータベースに同期されません。

設定項目
パラメータ
説明
データ初期化オプション
初期化タイプ
構造初期化:同期タスクの実行時に、まずソースインスタンスのテーブル構造をターゲットインスタンスに初期化します。
全量データ初期化:同期タスクの実行時に、まずソースインスタンスのデータをターゲットインスタンスに初期化します。全量データ初期化のみを選択した場合、ユーザーは事前にターゲットデータベースにテーブル構造を作成しておく必要があります。
デフォルトでは両方ともチェックされており、実際の状況に応じてキャンセルできます。
同じ名前のテーブルが存在します
事前検証とエラー報告:同名テーブルが存在する場合はエラーを報告し、フローは続行されません。
無視して続行:全量データと増分データをターゲットインスタンスのテーブルに直接追加します。
データ同期オプション
PK競合処理
競合エラー:同期中にテーブルのPK競合を検出した場合、エラーを報告し、データ同期タスクを一時停止します。
競合無視:同期中にテーブルのPK競合を検出した場合、ターゲットデータベースのPKレコードを保持します。
競合上書き:同期中にテーブルのPK競合を検出した場合、ソースデータベースのPKレコードでターゲットデータベースのPKレコードを上書きします。
同期オブジェクトオプション
同期オブジェクト
インスタンス全体:インスタンス全体を同期します。
指定オブジェクト:指定オブジェクトを同期します。
高度な移行オブジェクト
同期対象のオブジェクトを選択します。基本データベース・テーブル、ビュー、ストアドプロシージャ、関数をサポートします。高度なオブジェクトの同期は1回限りのアクションであり、タスク開始前にソースデータベースに既に存在する高度なオブジェクトのみを同期できます。タスク開始後に新しく追加された高度なオブジェクトはターゲットデータベースに同期されません。詳細については、高度なオブジェクトの同期を参照してください。
選択済みオブジェクト
データベース・テーブルマッピング(データベース・テーブルの名前変更)をサポートします。マウスをデータベース名、テーブル名に合わせると編集ボタンが表示されます。クリックすると、ポップアップウィンドウで新しい名前を入力できます。
高度なオブジェクトを選択して同期する場合は、データベース・テーブルの名前変更操作を行わないことをお勧めします。そうしないと、高度なオブジェクトの同期が失敗する可能性があります。
Online DDL一時テーブルを同期するかどうか
gh-ost、pt-oscツールを使用してソースデータベース内のテーブルに対してOnline DDL操作を実行する場合、DTSはOnline DDLの変更によって生成された一時テーブルをターゲットデータベースに同期することをサポートします。
gh-ostをチェックすると、DTSはgh-ostツールが生成した一時テーブル名(`_表名_ghc`、`_表名_gho`、`_表名_del`)をターゲットデータベースに同期します。
pt-oscをチェックすると、DTSはpt-oscツールが生成した一時テーブル名(`_表名_new`、`_表名_old`)をターゲットデータベースに同期します。
詳細については、Online DDL一時テーブルの同期を参照してください。
詳細オプション

パラメータ
説明
伝送速度を制限します。
一般情况下、タスク設定ではここをチェックする必要はありません。データベースの設定が低く、DTSのデフォルトの同時実行スレッド数とRPSに耐えられない場合にのみ、設定が必要です。詳細については、速度制限を参照してください。
7. データ処理ページでは、選択済みの同期オブジェクトに対して増分データのフィルタリングおよび操作ルールを設定できます。これには DDL & DML 設定とWhere条件フィルタリングが含まれます。設定が完了したら、保存して次へをクリックしてください。
7.1 DDL&DML 設定
DDL & DML設定機能を使用すると、インスタンス全体、データベース全体、または単一テーブルに対して、増分DML操作(INSERT、UPDATE、DELETE)と増分DDL操作の同期ルールをそれぞれ設定できます。これにより、オブジェクトレベルでのきめ細かなデータ同期制御を実現します。
説明:
DDL & DML設定ルールは、選択済みのオブジェクトにのみ有効です。子ノードの優先順位は親ノードの設定ルールより高く、優先順位は単一テーブル > データベース全体 > インスタンスレベルとなります。例えば、同期オブジェクトでデータベース全体としてdb1を選択し、データベース全体レベルで全てのDMLを同期するように設定します。ただし、db1内のtb1は、単一テーブルレベルでdelete操作を同期しないように設定します。この場合、db1.tb1はdelete操作を同期せず、db1内の他のオブジェクトは全てのDMLを同期します。
7.1.1 データ処理ページで、DDL & DMLタブを選択します。
7.1.2 オブジェクトを選択し、ルールを設定します。
7.1.2.1 選択済みオブジェクトエリアで設定するオブジェクトを選択し、右側の編集をクリックします。
説明:
インスタンス全体/データベース全体を同期する場合、ソースインスタンスまたはデータベーステーブルオブジェクトを展開し、特定のオブジェクトに対して個別に設定できます。
7.1.2.2 表示されたダイアログボックスで増分DMLおよび増分DDLの同期ルールを設定します。パラメータの説明は以下の通りです:
増分DML設定
DML操作
説明
INSERT
ソース側の INSERT 操作をターゲット側に同期します。
UPDATE
ソース側の UPDATE 操作をターゲット側に同期します。
DELETE
ソース側の DELETE 操作をターゲット側に同期します。
増分DDL設定
データベースオブジェクトタイプ別にグループ化し、同期が必要なDDL操作を選択できます:
オブジェクトタイプ
サポートされるDDL操作
DATABASE
CREATE、DROP、ALTER
TABLE
CREATE、DROP、ALTER、TRUNCATE、RENAME
VIEW
CREATE、DROP
INDEX
CREATE、DROP
7.1.2.3 設定が完了したら、保存をクリックします。設定済みのオブジェクトの右側に編集済みと表示されます。
7.1.2.4 デフォルト設定に戻す必要がある場合は、オブジェクトの右側にあるリセットをクリックします。
説明:
リセット後、このオブジェクトのDDL & DML設定がクリアされ、データベース全体/インスタンス全体の設定情報が採用されます。この操作は取り消しできません。
7.1.3 設定とルールを確認します。
設定が完了したら、ページ下部で現在のすべてのオブジェクトのDDL & DML設定情報およびルールを確認できます。左側のドロップダウンリストでオブジェクト階層ごとにフィルタリングして表示できます。
ある設定ルールを削除する必要がある場合は、対応するルールの操作列にある削除をクリックします。
7.2 Where条件によるフィルタリング
Where条件フィルタリング機能は、単一テーブルまたは複数テーブルに一括でフィルタ条件を設定できます。設定ルールを満たすデータのみがターゲットデータベースに同期されるため、ユーザーは柔軟にデータを分割できます。
説明:
同期オブジェクトがデータベース全体/テーブル全体を選択している場合、whereによるフィルタリングの一括設定はサポートされていません。
7.2.1 データ処理ページで、Where条件フィルタリングタブを選択し、WHEREフィルターを有効にするにチェックを入れます。
7.2.2 オブジェクトの選択:前のステップで選択した同期オブジェクトの範囲から、where条件を設定する必要があるオブジェクト範囲をさらに選択します。

7.2.3 フィルター条件を設定して確認します。
UTCタイムゾーンの選択:TIMESTAMPタイプのフィールドの比較値のタイムゾーンを指定し、データベースのタイムゾーンと一致させることをお勧めします。
UPDATEデータ条件:「更新前、後両方とも満たす」、「更新前に満たす」、「更新後に満たす」を選択できます。
条件式:where条件式を入力します。where条件を設定した後、チェック条件をクリックして入力内容の合法性を検出し、次にフィルタールール生成をクリックします。

8. 一貫性の検証の設定ページで、データ一貫性の検証を有効にする(デフォルトでオン)にチェックを入れ、パラメータを設定した後、次へをクリックします。
設定項目
パラメータ
説明
検証オプション
検証内容
全量検証:検証タスクの開始時に、ソースデータベースとターゲットデータベース内の全データを比較します。
検証基準
両端:ソース側とターゲット側のデータを検証基準として使用します。
検証パラメータの設定
スレッド数選択
設定範囲は1~8です。実際の状況に応じて選択してください。スレッド数を増やすと一貫性の検証速度を向上させることができますが、ソースとターゲットデータベースの負荷も増加します。
再検査回数
再検査回数を設定します。
初回の全量データ検証結果が不一致の場合、バックエンドは全量検証で不一致となったデータに対して検証を開始します。
再検査間隔
再検査の時間間隔を設定します。
検証対象オプション
検証対象
すべての同期オブジェクト:検証範囲は同期タスクで選択されたすべてのオブジェクトです。
カスタム選択:選択した同期オブジェクトの中から、検証を行うオブジェクトを選択します。
9. 検証タスクページで、検証を完了し、すべての検証項目が合格した後、今すぐ開始をクリックします。 検証タスクが合格しない場合は、検証不合格の対処方法を参照して問題を修正した後、検証タスクを再実行します。
失敗:検証項目のチェックが不合格であり、タスクがブロックされていることを示します。問題を修正した後、検証タスクを再実行する必要があります。
警告:検証項目のチェックが要件を完全には満たしていないことを示します。タスクを続行できますが、業務に一定の影響があります。ユーザーはプロンプトに基づいて、警告項目を無視するか、問題を修正してから続行するかを自身で評価する必要があります。

表示されたダイアログボックスで、確定をクリックします。
10. データ同期タスクリストに戻り、タスクは実行中状態に入ります。
説明:
操作列の詳細 > 終了を選択すると、同期タスクを終了できます。データ同期が完了したことを確認してからタスクを終了してください。

11. (オプション)タスク名をクリックすると、タスク詳細ページに入り、タスクの初期化状態と監視データを確認できます。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック