Huawei Cloud CDM(Cloud Data Migration)は、Huawei Cloudが提供するデータ移行サービスであり、さまざまなデータソース間のデータ移行をサポートしています。Huawei Cloud CDMは、MySQLコネクタを介してOceanBaseデータベースに接続し、MySQLからOceanBase MySQLへのデータ移行を実現します。
バージョン互換性
コンポーネント |
説明 |
|---|---|
| OceanBaseデータベース | ≥ V4.2.3.0 |
前提条件
Huawei Cloud CDMを使用する前に、以下の点を確認してください:
- Huawei Cloud CDMを購入済みであること。詳細については、Huawei Cloud CDM公式ドキュメントを参照してください。
- OceanBaseデータベースのデプロイが完了し、MySQLモードのユーザーテナントが作成されていること。テナント作成の詳細については、テナントの作成を参照してください。
- ターゲット側のOceanBaseデータベースとテーブルが事前に作成されていること。
手順
ステップ1:OceanBaseデータベースの接続文字列を取得する
OceanBaseデータベースのデプロイ担当者から接続文字列を取得します。例:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
パラメータ説明:
$host:接続IPアドレス。ODP接続の場合はODPアドレスを、直接接続の場合はOBServer IPアドレスを使用します。$port:接続ポート。ODPのデフォルトは2883、直接接続のデフォルトは2881です。$database_name:データベース名。注意
テナントに接続するユーザーは、データベースに対する
CREATE、INSERT、DROP、およびSELECT権限が付与されていなければなりません。その他のユーザー権限の詳細については、MySQLモードの権限分類を参照してください。$user_name:接続アカウント。ODP形式:ユーザー@テナント#クラスタまたはクラスタ:テナント:ユーザー、直接接続形式:ユーザー@テナント。$password:アカウントのパスワード。
接続文字列の詳細については、OBClientを使用してOceanBaseテナントに接続するを参照してください。
例:
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
ステップ2:データソースを設定する
- Huawei Cloud CDMコンソールにログインし、クラスタ管理ページに移動します。
- データソースを作成する をクリックし、MySQL コネクタタイプを選択します。
- データソースの基本情報を入力します:
- データソース名:カスタム名を入力します。例:
ob_source。 - サーバーアドレス:OceanBase接続IPアドレスを入力します。
* **ポート**:OceanBase接続ポートを入力します。デフォルトは`2881`(直接接続)または`2883`(ODP)です。 * **データベース名**:データベース名を入力します。 * **ユーザー名**:接続アカウントを入力します。 * **パスワード**:アカウントのパスワードを入力します。注意
PrivateLinkを使用してHuawei Cloud OceanBaseに接続する場合は、ドメイン名ではなくエンドポイントIPアドレスを入力してください。
- データソース名:カスタム名を入力します。例:
- 詳細なプロパティ で、パフォーマンス要件に応じて以下のパラメータを調整できます:
- 1回のコミット行数:ソース側から指定された数の行を取得した後、宛先側にコミットします。デフォルト値はパフォーマンス向上のため調整可能です。
- 1回の書き込み行数:毎回宛先側に書き込む行数です。デフォルト値はパフォーマンス向上のため調整可能です。
- 接続テスト をクリックし、接続が成功したことを確認したらデータソースを保存します。
ステップ3:移行ジョブを作成する
- CDMコンソールで、ジョブを作成する をクリックします。
- ジョブタイプを テーブル/ファイル移行 に選択します。
- ソース側と宛先側を設定します:
- ソースデータソース:作成済みのMySQLソースデータソースを選択します。
- 宛先データソース:作成済みのOceanBase宛先データソースを選択します。
- ジョブパラメータを設定します:
- 移行するデータベースとテーブルを選択します。
- ジョブ設定 で、並列スレッド 数を増やして移行パフォーマンスを向上させることができます。
- ジョブ設定を保存します。
ステップ4:移行を実行する
- ジョブリストで、作成済みの移行ジョブを選択します。
- 開始 をクリックして、データ移行を開始します。
- ジョブの実行状態を監視し、移行完了を待ちます。
結果の検証
宛先側のOceanBaseデータベースにログインします。
以下のSQLステートメントを実行して、データが正常に移行されたかどうかを検証します:
SELECT COUNT(*) FROM $database_name.$table_name;ソース側と宛先側のデータレコード数を比較し、データの一貫性を確認します。
よくある質問
Q1:ローカルAPIモードで移行時に構文エラーが発生した場合はどうすればよいですか?
原因:ローカルAPIモードで生成されたSQL構文がOceanBaseと互換性がないためです。例えば、区切り文字の構文 fields terminated by X'0203' はOceanBaseではサポートされていません。
解決策:データソースを作成する際に、ローカルAPIモードではなく SQLモード を選択してください。
Q2:データソースのテスト接続は成功したのですが、移行先として選択できません。どうすればよいですか?
原因:CDMクラスタのバージョンが原因である可能性があります。
解決策:CDMクラスタのバージョンを変更してみるか、Huawei Cloudサポートチームにお問い合わせください。