本トピックでは、OceanBase サーバーレスインスタンスの通常アカウントを作成し、データ移行の各フェーズで必要となる最小限の権限をアカウントに付与する方法について説明します。
背景情報
ApsaraDB for OceanBase は、Serverless for MySQL タイプのサーバーレスインスタンスのみをサポートします。サーバーレスインスタンスは、通常アカウント、スーパーアカウント、読み取り専用アカウントの 3 種類のデータベースアカウントをサポートします。データ伝送サービスを使用してサーバーレスインスタンスからデータを移行する場合、次のルールに従ってください:
通常アカウントを使用する場合は、本トピックの説明に基づいてアカウントに権限を付与します。
スーパーアカウントを使用する場合、デフォルトですべてのデータベースに対する読み取り/書き込み権限を持ちます。
読み取り専用アカウントを使用する場合、デフォルトですべてのデータベースに対する読み取り権限を持ちます。
サーバーレスインスタンス用に作成した通常アカウントの名前は、OceanBase データソースを作成する際の [ユーザー名] パラメーターとして使用できます。

一意キーのないテーブルを移行する場合は、データ移行の前に、読み取り専用権限を持つ __oceanbase_inner_drc_user ユーザーも作成する必要があります。その後、OceanBase データソースを作成する際に、__oceanbase_inner_drc_user のパスワードを指定します。
サーバーレスインスタンスの通常アカウントの作成
[サーバーレスインスタンスワークスペース] ページに移動します。
。
左上のコーナーで、対象インスタンスが配置されているリージョンを選択します。
左側のナビゲーションウィンドウで [インスタンス] をクリックします。次に、タイプが Serverless である対象インスタンスの名前をクリックします。
[サーバーレスワークスペース] ページで、左側のナビゲーションウィンドウにある [アカウント管理] をクリックします。
[アカウント管理] ページで、右上のコーナーにある [アカウントの作成] をクリックします。

[アカウントの作成] ダイアログボックスで、パラメーターを設定します。

パラメーター
説明
ユーザー名
ユーザー名は、英字、数字、アンダースコア (_) を使用できます。先頭は英字、末尾は英字または数字である必要があり、長さは 32 文字を超えることはできません。
アカウントタイプ
[通常アカウント] を選択します。
アクセス可能なデータベース (任意)
アカウントがアクセスできる 1 つ以上のデータベースを選択します。
左側の [未承認] リストで 1 つ以上のデータベースを選択し、[>] をクリックして右側のリストに追加します。
[承認済み] リストで、各データベースに対して [読み取り/書き込み]、[DDL のみ]、[DML のみ]、または [読み取り専用] の権限をアカウントに付与します。
パスワード
パスワードは 10~32 文字で、大文字、小文字、数字、特殊文字の 4 種類のうち 3 種類を含める必要があります。サポートされている特殊文字は次のとおりです:! @ # $ % ^ & * ( ) _ + - =。[ランダム生成] をクリックすると、ランダムなパスワードが自動的に入力されます。
説明また、[パスワードのコピー] をクリックしてパスワードをコピーし、大切に保管してください。
備考 (任意)
アカウントの説明を入力します。
[OK] をクリックします。
移行元サーバーレスインスタンスの通常アカウントへの権限付与
次の表に、データ移行の各フェーズで移行元サーバーレスインスタンスの通常アカウントに必要な最小権限を示します。
テーブルタイプ | スキーマ移行 | 完全移行 | 増分 DML 操作の同期 | 増分 DDL 操作の同期 | 完全検証 | 逆方向増分 |
プライマリキーまたは null でない一意キーを持つテーブル | 読み取り専用 | 読み取り専用 | 読み取り専用 | 読み取り専用 | 読み取り専用 |
|
プライマリキーまたは null でない一意キーのないテーブル | 読み取り専用 |
| 読み取り専用 | 読み取り専用 | __oceanbase_inner_drc_user が必要 |
|
移行先サーバーレスインスタンスの通常アカウントへの権限付与
次の表に、データ移行の各フェーズで移行先サーバーレスインスタンスの通常アカウントに必要な最小権限を示します。
テーブルタイプ | スキーマ移行 | 完全移行 | 増分 DML 操作の同期 | 増分 DDL 操作の同期 | 完全検証 | DML 操作の逆方向増分 | DDL 操作の逆方向増分 |
プライマリキーまたは null でない一意キーを持つテーブル | DDL のみ | 読み取り/書き込み | 読み取り/書き込み | DDL のみ | 読み取り専用 | 読み取り専用 | 読み取り専用 |
プライマリキーまたは null でない一意キーのないテーブル | DDL のみ | 読み取り/書き込み | 読み取り/書き込み | DDL のみ | サポートされていません | 読み取り専用 | 読み取り専用 |
__oceanbase_inner_drc_user の作成と権限付与
ApsaraDB for OceanBase コンソールにログインし、[テナントワークスペース] ページに移動します。
[テナントワークスペース] ページで、右上のコーナーにある [データベースにログイン] をクリックします。
[データベース管理] ページからログインすることもできます。

[データベースアカウントの入力] ダイアログボックスで、ログインするデータベースの名前を入力し、[OK] をクリックします。
[接続パスワードの入力] ダイアログボックスで、データベースにログインするためのパスワードを入力し、[OK] をクリックします。
ログイン後、次のコマンドを実行してユーザー
__oceanbase_inner_drc_userを作成します:create user __oceanbase_inner_drc_user identified by '<password>';次のコマンドを実行して、ユーザーに権限を付与します:
grant select on *.* to __oceanbase_inner_drc_user;