TDSQL-C for MySQLはコマンドラインツールによるデータ移行をサポートしています。
1. MySQLコマンドラインツールmysqldumpを使用してインポート用SQLファイルを生成する方法は次のとおりです:
注意:
mysqldumpでエクスポートしたデータファイルは、購入したクラウドネイティブデータベースTDSQL-C(MySQL互換版)のSQL仕様と互換性がある必要があります。クラウドデータベースにログインし、select version(); で対応するMySQLバージョン情報を取得してください。生成されるSQLファイル名は英字/数字/アンダースコアを使用できますが、「test」という文字列を含めることはできません。
shell > mysqldump [options] db_name [tbl_name ...] > bak_pathname
optionsはエクスポートオプション、db_nameはデータベース名、tbl_nameはテーブル名、bak_pathnameはエクスポートパス名を表します。
mysqldumpによるデータエクスポートの詳細については、MySQL公式マニュアルをご参照ください。 2. データベースを復元する時、MySQLコマンドラインツールを使用して復元を行うことができます。方法は次のとおりです:
shell > mysql -h hostname -P port -u username -p < bak_pathname
hostnameはデータを復元するターゲットホストです、portはターゲットホストのポートです、usernameはターゲットホストのデータベースユーザー名です、bak_pathnameはバックアップファイルのフルパスです。
Windowsデータ移行
注意:
ソースとターゲットデータベースのバージョンが一致していること、mysqldumpツールのバージョンが一致していること、ソースとターゲットデータベースの文字セットが一致していることを確保してください。パラメータ``--default-character-set``を使用して文字セットを指定できます。
2. コマンドプロンプトを起動し、MySQLコマンドラインツールを使用して復元します。
3. MySQLデータベースにログインすると、バックアップされたデータベースがサーバー内にリストアされていることを確認できます。
LinuxシステムにおけるCVMホストを介したデータ移行
1. クラウドデータベース上のdb_blogデータベースを例に挙げます。CVMインスタンスにログインし、MySQLコマンドラインツールmysqldumpを使用してインポート用SQLファイルを生成します。
2. MySQLコマンドラインツールを使用して復元を行います。本示例ではデータをCVMサーバーに復元します。バックアップされたデータベースがターゲットサーバーの対応するデータベースにインポートされていることを確認できます。
データファイルインポート時の文字セットエンコーディング問題
1. クラウドデータベースにデータファイルをインポートする際に文字セットエンコーディングを指定しなかった場合、クラウドデータベースに設定されている文字セットエンコーディングが適用されます。
2. データインポートファイルに文字セットエンコーディングが指定されている場合、指定された文字セットエンコーディングが適用されます。
3. インポートするデータファイルの文字セットエンコーディングがクラウドデータベースの現在の文字セットエンコーディングと異なる場合、文字化けが発生する可能性があります。
文字セットおよびエンコーディングに関するその他の問題については、使用上の制限の文字セットの説明を参照してください。