__tencentdb__を書き込み、移行タスクプロセス中のデータ比較情報を記録します。__tencentdb__は削除されません。__tencentdb__システムデータベースが占有する容量は非常に小さく、ソースデータベースのストレージ容量の約1000分の1から1万分の1です(例えば、ソースデータベースが50GBの場合、__tencentdb__システムデータベースは約5MB~50MBです)。また、シングルスレッドと接続待機メカニズムを採用しているため、ソースデータベースのパフォーマンスにはほとんど影響を与えず、リソースを奪い合うこともありません。CREATE USER '移行アカウント'@'%' IDENTIFIED BY '移行パスワード';GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHOW VIEW,PROCESS ON *.* TO '移行アカウント'@'%';//ソース側がTencent Cloud MariaDBデータベースの場合、RELOAD権限の付与についてチケットを提出する必要があります。その他のシナリオでは、ユーザーはコードを参照して権限を付与してください。//ソースデータベースがAlibaba Cloudデータベースの場合、SHOW DATABASESの権限付与は不要です。その他のシナリオでは権限付与が必要です。Alibaba Cloudデータベースの権限付与については、https://help.aliyun.com/document_detail/96101.htmlを参照してください。//トリガーとイベントの移行を選択する場合、TRIGGER権限とEVENT権限を同時に付与する必要があります。GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO '移行アカウント'@'%';GRANT SELECT ON *.* TO '移行アカウント';
CREATE USER '移行アカウント'@'%' IDENTIFIED BY '移行パスワード';GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHOW VIEW,PROCESS ON *.* TO '移行アカウント'@'%';//ソース側がTencent Cloud MariaDBデータベースの場合、RELOAD権限の付与についてチケットを提出する必要があります。その他のシナリオでは、ユーザーはコードを参照して権限を付与してください。//ソースデータベースがAlibaba Cloudデータベースの場合、SHOW DATABASESの権限付与は不要です。その他のシナリオでは権限付与が必要です。Alibaba Cloudデータベースの権限付与については、https://help.aliyun.com/document_detail/96101.htmlを参照してください。//トリガーとイベントの移行を選択する場合、TRIGGER権限とEVENT権限を同時に付与する必要があります。GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO '移行アカウント'@'%';GRANT SELECT ON `mysql`.* TO '移行アカウント'@'%';GRANT SELECT ON 移行対象のデータベース.* TO '移行アカウント';
information_schema、sys、performance_schema、__cdb_recycle_bin__、__recycle_bin__、__tencentdb__、mysqlです。DEFINERに対応するuser1([DEFINER = user1])と移行アカウントuser2が一致するかどうかをチェックします。一致しない場合、移行後にDTSはターゲットデータベース内のuser1のSQL SECURITY属性を変更し、DEFINERからINVOKERに変換します([INVOKER = user1])。同時に、ターゲットデータベース内のDEFINERを移行アカウントuser2に設定します([DEFINER = 移行アカウントuser2])。ソースデータベース内のビュー定義が複雑すぎる場合、タスクが失敗する可能性があります。STATEMENT形式のBinlogステートメントが生成された場合、移行が失敗します。lower_case_tame_nameパラメータ(テーブル名の大文字と小文字の区別)を一致させる必要があります。ソースデータベースがTencentDB for MariaDBの場合、TencentDB for MariaDBではインスタンス作成時にのみlower_case_tame_nameパラメータを変更できるため、ユーザーはソースデータベースインスタンスの作成時に大文字と小文字の区別ルールを決定し、パラメータ検証で不一致が発生した場合に、ターゲットデータベースのlower_case_tame_nameパラメータを変更する必要があります。ALTER VIEWステートメントはサポートされていません。このステートメントが検出された場合、タスクはスキップされ、移行されません。STATEMENTのデータを書き込まないでください。__tencentdb__を削除しないでください。操作タイプ | サポートされる SQL 操作 |
DML | INSERT、UPDATE、DELETE、REPLACE |
DDL | TABLE:CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、RENAME TABLE VIEW:CREATE VIEW、DROP VIEW INDEX:CREATE INDEX、DROP INDEX DATABASE:CREATE DATABASE、ALTER DATABASE、DROP DATABASE 現時点では、CREATE TABLE テーブル名 AS SELECT ステートメントはサポートされていません。 |
タイプ | 環境要件 |
ソースデータベース要件 | ソースデータベースとターゲットデータベースのネットワークが接続できる必要があります。 ソースデータベースが配置されているサーバーには十分な出力帯域幅が必要です。そうでない場合、移行速度に影響します。 インスタンスパラメータの要件: ソースデータベースのserver_idパラメータは手動で設定する必要があります。また、値を0に設定することはできません。 ソースデータベースのテーブルのrow_formatをFIXEDに設定することはできません。 ソースデータベースとターゲットデータベースのlower_case_table_names変数は、一致するように設定する必要があります。 ソースデータベース変数connect_timeoutの設定値は10より大きい必要があります。 skip-name-resolveを有効にして、接続タイムアウトの可能性を減らすことをお勧めします。 Binlogパラメータの要件: ソースデータベースのlog_bin変数はONに設定する必要があります。 ソースデータベースのbinlog_format変数はROWに設定する必要があります。 ソースデータベースのbinlog_row_image変数はFULLに設定する必要があります。 MySQL 5.6以降のバージョンでは、gtid_mode変数がONでない場合に警告が表示されます。gtid_modeを有効にすることをお勧めします。 do_db、ignore_dbフィルター条件を設定することはできません。 ソースインスタンスがレプリカの場合、log_slave_updates変数をONに設定する必要があります。 ソースデータベースのBinlogログは少なくとも3日以上保持することをお勧めします。そうしないと、タスクの一時停止/中断時間がBinlogログの保持時間を超えた場合、タスクの再開ができなくなり、タスクが失敗する可能性があります。 外部キー依存関係: 外部キー依存関係はNO ACTION、RESTRICTの2種類にのみ設定できます。 一部のデータベース・テーブルを移行する場合、外部キー依存関係のあるテーブルはすべて揃っている必要があります。 DTSはデータ型FLOATの移行精度が38桁、データ型DOUBLEの移行精度が308桁です。期待どおりかどうかを確認する必要があります。 環境変数innodb_stats_on_metadataはOFFに設定する必要があります。 |
ターゲットデータベース要件 | ターゲットデータベースのバージョンは、ソースデータベースのバージョン以上である必要があります。 ターゲットデータベースの容量は、ソースデータベースの移行対象テーブルスペースの1.2倍以上である必要があります。(全量データ移行ではINSERT操作が並行実行されるため、ターゲットデータベースのテーブルにフラグメンテーションが発生します。そのため、全量移行完了後、ターゲットデータベースのテーブルストレージ容量はソースインスタンスのテーブルストレージ容量よりも大きくなる可能性が高くなります。) ターゲットデータベースには、ソースデータベースと同じ名前のテーブル、ビューなどの移行オブジェクトが存在してはなりません。 ターゲットデータベースのmax_allowed_packetパラメータ設定値は少なくとも4Mである必要があります。 |
設定項目 | 説明 |
作成モード | 新規タスクを選択します。 |
課金モデル | 従量課金のみサポートされます。購入完了後、タスク設定段階および全量移行段階では課金されず、増分移行段階でのみ課金されます。ただし、Tencent Cloudの従量課金の統一要件により、購入後に1時間分の費用が先に凍結されます。詳細な課金ルールについては、課金項目とルールを参照してください。 |
ソースインスタンスタイプ | ソースデータベースのタイプに応じて選択してください。購入後は変更できません。ここではMariaDBを選択します。 ユーザーのソースデータベースが自己構築のMariaDBまたは他のクラウドベンダーのMariaDBである場合、ここではMariaDBを選択します。ユーザーのソースデータベースがTencent CloudのTencentDB for MariaDBである場合、TencentDB for MariaDBには3種類のカーネルバージョン(MySQL/MariaDB/Percona)がありますが、ここではカーネルバージョンを区別せず、同様にMariaDBを選択します。 |
ソースインスタンスの地域 | ここではDTSデータ移行サービスのソース側地域を指します。ソースデータベースがTencent Cloudデータベースの場合、ここではソースデータベースが属する地域を選択してください。ソースデータベースが自己構築データベースまたは他のクラウドプロバイダーのデータベースの場合、ここではソースデータベースに最も近い地域を選択してください。これにより、DTSが最適な移行パスを選択し、移行時間を短縮できます。 |
ターゲットインスタンスタイプ | ターゲットデータベースのタイプに応じて選択してください。購入後は変更できません。ここではMariaDBを選択します。 |
ターゲットインスタンスの地域 | ターゲットデータベースが属する地域を選択してください。 |
仕様 | |
数量 | 1回の購入で最大10個の移行タスクを購入できます。 |
設定タイプ | 設定項目 | 説明 |
タスク設定 | タスク名 | 業務上意味のある名前を設定し、タスクを識別しやすくします。 |
| 実行モード | 即時実行:タスク検証に合格した後、直ちにタスクを開始します。 定时実行:タスクの実行時間を設定する必要があります。時間になるとタスクが開始されます。 |
| 自動再試行 | 設定後、ネットワーク異常などによる移行タスクの一時中断が発生した場合、DTSは設定された時間範囲内で自動的にタスクを再試行および再開し、ユーザーによる手動操作は不要です。 設定可能な時間範囲は5分~720分です。 |
ソースデータベースの設定 | ソースデータベースタイプ | 購入時に選択したソースデータベースタイプは変更できません。 |
| サービスプロバイダー | 自己構築データベース(CVM上での自己構築を含む)またはTencent Cloudデータベースの場合は、「通常」を選択してください。サードパーティクラウドベンダーのデータベースの場合は、対応するサービスプロバイダーを選択してください。このシナリオでは「通常」を選択します。 |
| 所属リージョン | 購入時に選択したソースデータベースの地域は変更できません。 |
| アクセスタイプ | お客様のシナリオに応じて選択してください。このシナリオでは「Direct Connect」または「VPN接続」を選択します。このシナリオでは、VPNとIDC間の相互接続を設定する必要があります。その他のアクセスタイプの準備作業については、準備作業の概要を参照してください。 公衆網:ソースデータベースにはパブリックIPアドレスでアクセスできます。 CVM自社構築:ソースデータベースはTencent CVM上に配置されています。 Direct Connect:ソースデータベースはDirect Connectを介してTencent Cloud VPCと接続できます。 VPNアクセス:ソースデータベースはVPN Connectionsを介してTencent Cloud VPCと接続できます。 クラウドデータベース:ソースデータベースはTencent Cloudデータベースインスタンスに属します。 CCN:ソースデータベースはCCNを介してTencent Cloud VPCと接続できます。 |
| VPC専用線ゲートウェイ/VPNゲートウェイ | Direct Connectを使用する場合、VPC専用線ゲートウェイのみがサポートされます。ゲートウェイに関連付けられているネットワークタイプを確認してください。VPNゲートウェイの場合は、VPNゲートウェイ経由でアクセスするVPNゲートウェイインスタンスを選択してください。 |
| VPC | VPC専用線ゲートウェイおよびVPNゲートウェイに関連付けられているVPCとサブネットを選択します。 |
| ホストアドレス | ソースデータベースにアクセスするためのIPアドレスまたはドメイン名です。 |
| ポート | ソースデータベースのアクセスポートです。 |
| アカウント | ソースデータベースのデータベースアカウントは、アカウント権限が要件を満たす必要があります。 |
| パスワード | ソースデータベースのデータベースアカウントのパスワードです。 |
| 接続方式 | SSLセキュア接続とは、DTSとデータベースがSSL(Secure socket layer)で安全に接続し、伝送リンクを暗号化することを指します。 SSLセキュア接続を選択すると、データベースの接続応答時間が増加する可能性があります。一般的にTencent Cloudのプライベートネットワークリンクは比較的安全であるため、SSLセキュア接続を有効にする必要はありません。パブリックネットワーク/専用線などの伝送方式を使用し、かつデータセキュリティ要件が高いシナリオでは、SSLセキュア接続を有効にする必要があります。SSLセキュア接続を選択する前に、まずデータベースでSSL暗号化を有効にする必要があります。 |
ターゲットデータベースの設定 | ターゲットデータベースタイプ | 購入時に選択したターゲットデータベースタイプは変更できません。 |
| 所属リージョン | 購入時に選択したターゲットデータベースの地域は変更できません。 |
| アクセスタイプ | お客様のシナリオに応じて選択してください。このシナリオでは「クラウドデータベース」を選択します。 |
| データベースインスタンス | ターゲットデータベースのインスタンスIDを選択します。 |
| アカウント | ターゲットデータベースのデータベースアカウントは、アカウント権限が要件を満たす必要があります。 |
| パスワード | ターゲットデータベースのデータベースアカウントのパスワードです。 |
| 接続方式 | SSLセキュア接続とは、DTSとデータベースがSSL(Secure socket layer)で安全に接続し、伝送リンクを暗号化することを指します。 SSLセキュア接続を選択すると、データベースの接続応答時間が増加する可能性があります。一般的にTencent Cloudのプライベートネットワークリンクは比較的安全であるため、SSLセキュア接続を有効にする必要はありません。パブリックネットワーク/専用線などの伝送方式を使用し、かつデータセキュリティ要件が高いシナリオでは、SSLセキュア接続を有効にする必要があります。SSLセキュア接続を選択する前に、まずデータベースでSSL暗号化を有効にする必要があります。 |

設定項目 | 説明 |
移行タイプ | お客様のシナリオに応じて選択してください。 構造移行:データベース内のデータベース、テーブルなどの構造化データを移行します。 全量移行:データベース全体を移行します。移行データは、タスク開始時にソースデータベースに既に存在する内容のみを対象とし、タスク開始後にソースデータベースでリアルタイムに新規書き込みされたデータは含みません。 全量+増分移行:移行データには、タスク開始時にソースデータベースに既に存在する内容と、タスク開始後にソースデータベースでリアルタイムに新規書き込みされたデータが含まれます。移行中にソースデータベースでデータ書き込みが発生し、無停止でスムーズな移行が必要な場合は、このシナリオを選択してください。 |
移行対象 | インスタンス全体:インスタンス全体を移行します。ただし、information_schema、mysql、performance_schema、sysなどのシステムデータベースは含みません。 指定オブジェクト:指定オブジェクトを移行します。 |
高度な移行オブジェクト | ストアドプロシージャ(Procedure)、関数(Function)、トリガー(Trigger)、イベント(Event)の移行をサポートしています。 高度なオブジェクトの移行は一回限りの操作です。タスク開始前にソースデータベースに既に存在する高度なオブジェクトのみを移行できます。タスク開始後に追加された高度なオブジェクトは、ターゲットデータベースに同期されません。 ストアドプロシージャと関数は「ソースデータベースエクスポート」段階で移行されます。トリガーとイベントは、増分タスクがない場合はタスク終了時に移行され、増分タスクがある場合はユーザーが完了操作をクリックした後に移行が開始されます。そのため、完了をクリックした後、タスクの移行時間は若干長くなります。 |
選択済みオブジェクト | データベース・テーブルマッピング(データベース・テーブルの名前変更)をサポートします。マウスをデータベース名、テーブル名に合わせると編集ボタンが表示されます。クリックすると、ポップアップウィンドウで新しい名前を入力できます。 高度なオブジェクトを選択して移行する際は、データベース・テーブルの名前変更操作を行わないことをお勧めします。そうしないと、高度なオブジェクトの移行が失敗する可能性があります。 |
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`)をターゲットデータベースに移行します。 |

フィードバック