Huawei Cloud CDM(Cloud Data Migration)は、Huawei Cloudが提供するデータ移行サービスであり、さまざまなデータソース間のデータ移行をサポートしています。Huawei Cloud CDMはMySQLコネクタを介してOceanBaseデータベースに接続し、MySQLからOceanBaseデータベースへのデータ移行を実現します。
バージョン互換性
コンポーネント |
説明 |
|---|---|
| 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に接続する場合は、ドメイン名ではなくEndpoint 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サポートチームにお問い合わせください。