TDSQL-C for MySQLはワンクリック移行機能を提供し、TencentDB for MySQLからTDSQL-C for MySQLへのワンクリック移行が可能です。本稿では、ワンクリック移行プロセスにおける移行チェック手順と、「非InnoDBテーブルが存在するため移行できません」というエラーメッセージが表示された場合の対処方法について説明します。
説明:
本稿における移行ソース側データベースは、ワンクリック移行機能を使用するソース側データベース、すなわちTencentDB for MySQLインスタンスを指します。
ワンクリック移行機能
これまでワンクリック移行機能をご利用いただいたことがない場合でも、本稿の問題シナリオと対処方法を事前にご覧いただく必要がある場合は、以下のテキストからワンクリック移行機能についてジャンプしてご確認いただけます。
問題現象
ワンクリック移行プロセスにおける移行チェック手順を実行すると、「非InnoDBテーブルが存在するため移行できません」というメッセージが表示されます(下図参照)。
問題原因
1. 移行ソース側データベースには非InnoDBテーブルが存在します。
2. 移行ソース側データベースは、ワンクリック移行の前にDTS移行タスクを実行したことにより、システムライブラリ__tencentdb__が生成されました。
説明:
DTSデータ移行機能を使用してMySQLからTencentDB for MySQLにデータを移行する場合、DTSは移行タスクを実行するアカウントを使用してソースデータベースにシステムライブラリ__tencentdb__を書き込みます。これは移行タスクプロセスにおけるデータ比較情報を記録するためです。 対処案
問題原因1:移行ソース側データベースには非InnoDBテーブルが存在します。
TDSQL-C for MySQLはInnoDBエンジンの移行のみサポートします。移行対象のMySQLインスタンスに非InnoDBテーブルが存在する場合、現時点では移行できません。
問題原因2:移行ソース側データベースは、ワンクリック移行の前にDTS移行タスクを実行したことにより、システムライブラリ__tencentdb__が生成されました。
移行ソース側データベースにシステムライブラリ__tencentdb__が存在する場合も、ワンクリック移行チェック時に上記の問題現象を引き起こし、ワンクリック移行が実行できなくなります。この場合、移行ソース側データベースに未完了のDTS移行タスクが残っていないか確認し、なければ移行ソース側データベースの__tencentdb__ライブラリを削除した後、ワンクリック移行を再実行できます。
操作手順
問題原因2に対する処理操作手順は以下の通りです。
ステップ1:移行ソース側データベースに未完了のDTS移行タスクが存在するかどうかを確認する
2. 左側ナビゲーションでデータ移行ページを選択し、上部でリージョンを選択して、移行タスクリストに移行ソースデータベースに関連する未完了のDTS移行タスクが存在するかどうかを確認します。
移行ソースデータベースに関連する未完了のDTS移行タスクが存在する場合、実際の状況に応じて、まず移行タスクを完了し、関連するDTS移行タスクのステータスを「タスク成功」にしてからステップ2を実行してください。 移行ソースデータベースに関連する未完了のDTS移行タスクが存在しない場合、ステップ2を実行してください。 ステップ2:移行ソースデータベースの__tencentdb__ライブラリを削除する
2. インスタンスリストで対象インスタンスを見つけ、操作列でログインをクリックします。
3. DMCデータベース管理コンソールで、アカウントとパスワードを入力し、ログインをクリックします。
4. SQLウィンドウで、以下のコマンドを実行し__tencentdb__データベースを削除します。
説明:
削除前に、移行元データベースのTencentDB for MySQLインスタンスのDTS移行タスクが完了していることを確認してください。
DROP DATABASE __tencentdb__;
ステップ3:ワンクリックマイグレーションを再実行する
ステップ1とステップ2を完了した後、ワンクリック移行操作を再実行すると、移行チェックを通過できます。