tencent cloud

Data Transfer Service

TDSQL MySQLからTDSQL MySQLへの移行

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-16 16:46:44
AI翻訳
本文では、DTSデータ移行機能を使用して、TDSQL MySQLからTencent Cloudの分散データベースTDSQL MySQLへデータを移行する操作手順について説明します。
以下のシナリオの移行要件は、TDSQL MySQLからTDSQL MySQLへの移行要件と一致します。本シナリオの関連内容を参照できます。
TDSQL MySQLからTencentDB for MariaDBへのデータ移行
TDSQL MySQLからTencentDB for MySQLへのデータ移行

注意事項

DTSはフルデータ移行を実行する際に、ソースインスタンスのリソースをある程度占有し、ソースインスタンスの負荷上昇を引き起こし、データベース自体の負担を増加させる可能性があります。データベースの設定が低すぎる場合は、ビジネスのオフピーク期に移行することをお勧めします。
デフォルトではロックフリー移行を採用して実現します。移行中はソースデータベースにグローバルロック(FTWRL)をかけず、主キーがないテーブルにのみテーブルロックをかけ、その他にはロックをかけません。
データ一貫性の検証を作成する際、DTSは移行タスクを実行するアカウントを使用してソースデータベースにシステムデータベース__tencentdb__を書き込み、移行タスクプロセス中のデータ比較情報を記録します。
後続のデータ比較問題を特定できるようにするため、移行タスク終了後もソースデータベース内の__tencentdb__は削除されません。
__tencentdb__システムデータベースが占有する容量は非常に小さく、ソースデータベースのストレージ容量の約1000分の1から1万分の1です(例えば、ソースデータベースが50GBの場合、__tencentdb__システムデータベースは約5MB~50MBです)。また、シングルスレッドと接続待機メカニズムを採用しているため、ソースデータベースのパフォーマンスにはほとんど影響を与えず、リソースを奪い合うこともありません。

前提条件

ソースデータベースとターゲットデータベースが移行機能とバージョン要件を満たしていることを確認してください。確認にはデータ移行がサポートするデータベースを参照してください。
事前準備が完了しました。
ソース側のTDSQL MySQLにデータベース__tencentdb__を事前に作成しておく必要があります。
ソースデータベースの権限が必要です。
CREATE USER '移行アカウント'@'%' IDENTIFIED BY '移行パスワード';
GRANT SELECT,RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHOW VIEW,PROCESS ON *.* TO '移行アカウント'@'%';
//ソース側がTencent Cloud TDSQL MySQLデータベースの場合、RELOAD権限の付与についてチケットを提出する必要があります。その他のシナリオでは、ユーザーはコードを参照して権限を付与してください。
GRANT INSERT, UPDATE, DELETE, DROP, SELECT, INDEX, ALTER, CREATE ON `__tencentdb__`.* TO '移行アカウント'@'%';
ターゲットデータベースに必要な権限: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。

アプリケーション制限

基本テーブルの移行のみをサポートし、ビュー、関数、トリガー、ストアドプロシージャなどのオブジェクトの移行はサポートしません。
システムデータベース・テーブルおよびユーザー情報の移行はサポートされていません。対象はinformation_schema、sysdb、test、sys、performance_schema、__tencentdb__、mysqlです。
InnoDBデータベースエンジンの移行のみをサポートします。他のデータエンジンテーブルが存在する場合は、デフォルトでスキップされ、移行されません。
相互に関連するデータオブジェクトは同時に移行する必要があります。そうしないと、移行が失敗する可能性があります。
増分移行中に、ソースデータベースでSTATEMENT形式のBinlogステートメントが生成された場合、移行が失敗します。
セカンダリパーティションテーブルの移行はサポートされていません。
TDSQL MySQLからMySQL/MariaDBへの移行で、セカンダリパーティションテーブルの移行に遭遇すると、タスクがエラーを報告します。
TDSQL MySQLからTDSQL MySQLへの移行で、移行するデータベース・テーブルにセカンダリパーティションテーブルが含まれている場合、既存データはセカンダリパーティションテーブルの移行をスキップします。データベース全体またはインスタンス全体の移行を選択した場合、増分処理中にセカンダリパーティションテーブルに遭遇すると、タスクがエラーを報告して一時停止します。
1つのトランザクションにDML文とDDL文が同時に含まれるシナリオはサポートされていません。この状況が発生した場合、タスクはエラーを報告します。
Geometry関連のデータ型はサポートされていません。このタイプのデータが検出された場合、タスクはエラーを報告します。

操作制限

移行中に以下の操作を行わないでください。行った場合、移行タスクが失敗する可能性があります。
ソースデータベースとターゲットデータベース内のユーザー情報(ユーザー名、パスワード、権限を含む)とポート番号を変更、削除しないでください。
ソースデータベースにBinlog形式がSTATEMENTのデータを書き込まないでください。
ソースデータベース上でBinlogを削除する操作を実行しないでください。
増分移行段階では、システムデータベース・テーブル__tencentdb__を削除しないでください。
全量データ移行のみを実行する場合、移行プロセス中にソースインスタンスに新しいデータを書き込まないでください。そうしないと、ソースとターゲットのデータが不一致になります。データ書き込みがあるシナリオでは、データの一貫性をリアルタイムに維持するために、全量+増分データ移行を選択することをお勧めします。
増分移行中は、ソースデータベースでのシャードの追加やシャード仕様の変更はサポートされていません。そうしないと、移行タスクは新しいシャードのデータを同期しないか、タスクがエラーを報告して一時停止します。長期的に増分同期を維持し、ソースデータベースでのシャードの追加やシャード仕様の変更をサポートする必要がある場合は、TDSQLデータ同期を使用して同期を行ってください。

サポートされるSQL操作

操作タイプ
サポートされる同期 SQL 操作
DML
INSERT、UPDATE、DELETE、REPLACE
DDL
TABLE:CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE
VIEW:CREATE VIEW、DROP VIEW
INDEX:CREATE INDEX、DROP INDEX
DATABASE:CREATE DATABASE、ALTER DATABASE、DROP DATABASE
現時点では、CREATE TABLE テーブル名 AS SELECT ステートメントはサポートされていません。

環境要件

説明:
以下の環境要件について、システムは移行タスクを開始する前に自動的に検証を行います。要件を満たさない場合、システムはエラーを報告します。ユーザーが認識できる場合は、検証項目チェック要件を参照して自身で変更できます。認識できない場合は、システムの検証が完了するのを待ち、エラーメッセージに従って変更してください。
タイプ
環境要件
ソースデータベース要件
ソースデータベースとターゲットデータベースのネットワークが接続できる必要があります。
インスタンスパラメータの要件:
table_row_formatをFIXEDに設定することはできません。
ソースデータベースとターゲットデータベースのlower_case_table_names変数は、一致するように設定する必要があります。
ターゲット側のmax_allowed_packetパラメータをチェックし、少なくとも4Mに設定してください。
ソースデータベース変数connect_timeoutの設定値は10より大きい必要があります。
Binlogパラメータの要件:
ソース側のbinlog_format変数はROWに設定する必要があります。
ソース側のlog_bin変数はONに設定する必要があります。
ソース側のbinlog_row_image変数はFULLに設定する必要があります。
ソース側のgtid_mode変数が5.6以降のバージョンでONでない場合、WARNINGが報告されます。ユーザーはgtid_modeを有効にすることをお勧めします。
do_db、ignore_dbを設定することはできません。
ソースインスタンスがレプリカの場合、log_slave_updates変数をONに設定する必要があります。
ソースデータベースのBinlogログは少なくとも3日以上保持することをお勧めします。そうしないと、タスクの一時停止/中断時間がBinlogログの保持時間を超えた場合、タスクの再開ができなくなり、タスクが失敗する可能性があります。
外部キー依存関係:
外部キー依存関係はno actionとrestrictの2種類にのみ設定できます。
一部のデータベース・テーブルを移行する場合、外部キー依存関係のあるテーブルはすべて揃っている必要があります。
環境変数innodb_stats_on_metadataはOFFに設定する必要があります。
ターゲットデータベース要件
ターゲットデータベースが分散データベースの場合、事前に手動でシャードテーブルを作成し、shardkeyを計画することをお勧めします。そうしないと、DTSはソースデータベースのテーブルスタイルに従ってターゲットデータベースにテーブルを作成します。ソースデータベースが単一インスタンスの場合、ターゲットデータベースには単一テーブルが作成されます。
ターゲットデータベースのバージョンは、ソースデータベースのバージョン以上である必要があります。
ターゲットデータベースの容量は、ソースデータベースの移行対象テーブルスペースの1.2倍以上である必要があります。
ターゲットデータベースには、ソースデータベースと競合するデータベース・テーブルが存在してはなりません。

操作手順

1. DTSコンソールにログインし、左側のナビゲーションでデータ移行ページを選択し、新しい移行タスクをクリックして、新しい移行タスクページに入ります。
2. 新しい移行タスクページで、移行するソースインスタンスタイプと所属地域、ターゲットインスタンスタイプと所属地域、スペックなどを選択し、今すぐ購入をクリックします。
設定項目
説明
ソースインスタンスタイプ
ソースデータベースのタイプに応じて選択してください。購入後は変更できません。このシナリオでは「TDSQL MySQL」を選択します。
TencentDB for TDSQL MySQLは3種類のカーネルバージョン(MySQL/MariaDB/Percona)に分かれています。ここではカーネルバージョンを区別する必要はなく、データベースタイプとしてTDSQL MySQLを選択します。
ソースインスタンスの地域
ソースデータベースが属する地域を選択してください。
ターゲットインスタンスタイプ
ターゲットデータベースのタイプに応じて選択してください。購入後は変更できません。このシナリオでは「TDSQL MySQL」を選択します。
ターゲットインスタンスの地域
ターゲットデータベースが属する地域を選択してください。
仕様
ビジネス状況に応じて移行リンクのスペックを選択してください。異なるスペックの性能と課金の詳細については、課金概要を参照してください。
3. ソースおよびターゲットデータベースの設定ページで、タスク設定、ソースデータベース設定、ターゲットデータベース設定を完了し、ソースデータベースとターゲットデータベースの接続性テストに合格した後、新規作成をクリックします。
説明:
接続性テストが失敗した場合、プロンプトと修復ガイドに従って調査および解決し、その後再試行してください。
設定タイプ
設定項目
説明
タスク設定
タスク名
業務上意味のある名前を設定し、タスクを識別しやすくします。
実行モード
即時実行と定時実行をサポートします。即時実行の場合、タスク検証が完了するとすぐにタスクを開始します。定時実行の場合、タスク実行時間を設定し、その時間になるとタスクを開始します。
タグ
タグは、さまざまな次元からリソースを分類・管理するために使用されます。既存のタグが要件を満たさない場合は、コンソールでタグを管理してください。
ソースデータベースの設定
ソースデータベースタイプ
購入時に選択したソースデータベースタイプは変更できません。
所属リージョン
購入時に選択したソースデータベースの地域は変更できません。
アクセスタイプ
「クラウドデータベース」を選択します。
データベースインスタンス
ソースデータベースインスタンスのIDを選択します。
アカウント
ソースデータベース TDSQL MySQL のデータベースアカウントは、アカウント権限が要件を満たす必要があります。
パスワード
ソースデータベース TDSQL MySQL のデータベースアカウントのパスワードです。
ターゲットデータベースの設定
ターゲットデータベースタイプ
購入時に選択したターゲットデータベースタイプは変更できません。
所属リージョン
購入時に選択したターゲットデータベースの地域は変更できません。
アクセスタイプ
「クラウドデータベース」を選択します。
データベースインスタンス
ターゲット側の TDSQL MySQL インスタンスIDを選択します。
アカウント
ターゲット側 TDSQL MySQL のデータベースアカウントは、アカウント権限が要件を満たす必要があります。
パスワード
ターゲット側 TDSQL MySQL のデータベースアカウントのパスワードです。
4. 移行オプションの設定および移行対象の選択ページで、移行タイプと対象を設定し、保存をクリックします。
説明:
ユーザーが移行中にgh-ost、pt-oscなどのツールを使用して特定のテーブルに対してOnline DDLを実行することが確実な場合、移行対象としてこのテーブルが属するデータベース全体(またはインスタンス全体)を選択する必要があります。このテーブルのみを選択することはできません。そうしないと、Online DDLの変更によって生成された一時テーブルデータをターゲットデータベースに移行できません。
ユーザーが移行中に特定のテーブルに対してrename操作を行うことが確実な場合(例えば、table Aをtable Bにrenameする場合)、移行オブジェクトはtable Aが属するデータベース全体(またはインスタンス全体)を選択する必要があります。table Aのみを選択することはできません。そうしないと、rename操作後、table Bのデータはターゲットデータベースに同期されません。

設定項目
説明
移行タイプ
お客様のシナリオに応じて選択してください。
構造移行:データベース内のデータベース、テーブルなどの構造化データを移行します。
全量移行:データベース全体を移行します。移行データは、タスク開始時にソースデータベースに既に存在する内容のみを対象とし、タスク開始後にソースデータベースでリアルタイムに新規書き込みされたデータは含みません。
全量+増分移行:移行データには、タスク開始時にソースデータベースに既に存在する内容と、タスク開始後にソースデータベースでリアルタイムに新規書き込みされたデータが含まれます。移行中にソースデータベースでデータ書き込みが発生し、無停止でスムーズな移行が必要な場合は、このシナリオを選択してください。
移行対象
インスタンス全体:インスタンス全体を移行します。ただし、information_schema、mysql、performance_schema、sysなどのシステムデータベースは含みません。
指定オブジェクト:指定オブジェクトを移行します。
指定オブジェクト
ソースデータベースオブジェクトから移行対象のオブジェクトを選択し、選択済みオブジェクトボックスに移動してください。
5. 検証タスクページで検証を行い、検証タスクが合格した後、タスクを開始をクリックします。 検証タスクが合格しない場合は、検証不合格の対処方法を参照して問題を修正した後、検証タスクを再実行します。
失敗:検証項目のチェックが不合格であり、タスクがブロックされていることを示します。問題を修正した後、検証タスクを再実行する必要があります。
警告:検証項目のチェックが要件を完全には満たしていないことを示します。タスクを続行できますが、業務に一定の影響があります。ユーザーはプロンプトに基づいて、警告項目を無視するか、問題を修正してから続行するかを自身で評価する必要があります。
6. データ移行タスクリストに戻り、タスクは作成中状態に入ります。1分~2分後、データ移行タスクが正式に開始されます。
構造移行または全量移行を選択します:タスク完了後に自動的に終了するため、手動で終了する必要はありません。
全量+増分移行を選択します:全量移行が完了すると、自動的に増分データ同期段階に入ります。増分データ同期は自動的に終了しないため、手動で完了をクリックして増分データ同期を終了する必要があります。
適切なタイミングを選択して手動で増分データ同期を完了し、ビジネス切り替えを完了してください。
移行段階が増分同期であり、遅延がない状態であることを確認し、ソースデータベースへの書き込みを数分間停止します。
ターゲットとソースデータベースのデータ差異が0MB、かつターゲットとソースデータベースの時間遅延が0秒の場合、手動で増分同期を完了します。
7. (オプション)タスクの表示や削除などの操作を行う必要がある場合は、対応するタスクをクリックし、操作列で操作を行ってください。詳細については、タスク管理をご参照ください。
8. 移行タスクの状態がタスク成功に変わったら、ビジネスの正式な割接を実行できます。詳細については、割接説明をご参照ください。

ヘルプとサポート

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

フィードバック