すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for OceanBase:ApsaraDB for OceanBase サーバーレス インスタンスの通常のアカウントを作成し、そのアカウントに権限を付与する

最終更新日:Feb 27, 2025

このトピックでは、ApsaraDB for OceanBase のサーバーレス インスタンスの通常のアカウントを作成し、データ移行のさまざまなフェーズで必要な最小限の権限をアカウントに付与する方法について説明します。

背景

ApsaraDB for OceanBase は、[mysql 用サーバーレス] タイプのサーバーレス インスタンスのみをサポートしています。サーバーレス インスタンスは、通常のアカウント、スーパーアカウント、読み取り専用アカウントの 3 種類のデータベースアカウントをサポートしています。データ転送サービスを使用してサーバーレス インスタンスからデータを移行する場合は、次のルールに従ってください。

  • 通常のアカウントを使用する場合は、このトピックの説明に基づいてアカウントに権限を付与します。

  • スーパーアカウントを使用する場合、デフォルトですべてのデータベースに対する読み取り/書き込み権限があります。

  • 読み取り専用アカウントを使用する場合、デフォルトですべてのデータベースに対する読み取り権限があります。

サーバーレス インスタンス用に作成された通常のアカウントの名前は、OceanBase データソースを作成するときに、[ユーザー名] パラメーターに使用できます。

image

一意のキーのないテーブルを移行する場合は、データ移行の前に、読み取り専用権限を持つ __oceanbase_inner_drc_user ユーザーも作成する必要があります。次に、OceanBase データソースを作成するときに、__oceanbase_inner_drc_user ユーザーのパスワードを指定します。image.png

サーバーレス インスタンスの通常のアカウントを作成する

  1. [サーバーレス インスタンス ワークスペース] ページに移動します。

    1. ApsaraDB for OceanBase コンソール にログインします。

    2. 左上隅で、ターゲット インスタンスが配置されているリージョンを選択します。

    3. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。次に、タイプが [サーバーレス] であるターゲット インスタンスの名前をクリックします。

  2. [サーバーレス ワークスペース] ページで、左側のナビゲーションウィンドウの [アカウント管理] をクリックします。

  3. [アカウント管理] ページで、右上隅にある [アカウントの作成] をクリックします。

    image

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

    image.png

    パラメーター

    説明

    [ユーザー名]

    ユーザー名には、文字、数字、アンダースコア (_) を使用できます。文字で始まり、文字または数字で終わる必要があり、長さは 32 文字を超えることはできません。

    [アカウントタイプ]

    [通常のアカウント] を選択します。

    [アクセス可能なデータベース] (オプション)

    アカウントがアクセスできる 1 つ以上のデータベースを選択します。

    1. 左側の [未承認] リストで、1 つ以上のデータベースを選択し、[>] をクリックして右側のリストに追加します。

    2. [承認済み] リストで、各データベースに対する [読み取り/書き込み][DDL のみ][DML のみ]、または [読み取り専用] 権限をアカウントに付与します。

    [パスワード]

    パスワードは 10 ~ 32 文字の長さで、大文字、小文字、数字、特殊文字のいずれか 3 種類の文字を含める必要があります。サポートされている特殊文字は、! @ # $ % ^ & * ( ) _ + - = です。[ランダム生成] をクリックして、ランダムなパスワードを自動的に入力できます。

    説明

    [パスワードをコピー] をクリックしてパスワードをコピーし、機密性を保持することもできます。

    [備考] (オプション)

    アカウントの説明を入力します。

  5. [OK] をクリックします。

ソース サーバーレス インスタンスの通常のアカウントに権限を付与する

次の表に、データ移行のさまざまなフェーズでソース サーバーレス インスタンスの通常のアカウントに必要な最小限の権限を示します。

テーブルタイプ

スキーマ移行

フル移行

増分 DML 操作同期

増分 DDL 操作同期

フル検証

逆増分同期

プライマリキーまたは NULL 以外のユニークキーを持つテーブル

読み取り専用

読み取り専用

読み取り専用

読み取り専用

読み取り専用

  • DDL のみ (DDL 操作のみ同期されます)

  • DML のみ (DML 操作のみ同期されます)

  • 読み取り/書き込み (DDL 操作と DML 操作の両方が同期されます)

プライマリキーまたは NULL 以外のユニークキーがないテーブル

読み取り専用

  • 読み取り専用

  • __oceanbase_inner_drc_user が必要

読み取り専用

読み取り専用

__oceanbase_inner_drc_user が必要

  • DDL のみ (DDL 操作のみ同期されます)

  • DML のみ (DML 操作のみ同期されます)

  • 読み取り/書き込み (DDL 操作と DML 操作の両方が同期されます)

ターゲット サーバーレス インスタンスの通常のアカウントに権限を付与する

次の表に、データ移行のさまざまなフェーズでターゲット サーバーレス インスタンスの通常のアカウントに必要な最小限の権限を示します。

テーブルタイプ

スキーマ移行

フル移行

増分 DML 操作同期

増分 DDL 操作同期

フル検証

逆増分 DML 同期

逆増分 DDL 同期

プライマリキーまたは NULL 以外のユニークキーを持つテーブル

DDL のみ

読み取り/書き込み

読み取り/書き込み

DDL のみ

読み取り専用

読み取り専用

読み取り専用

プライマリキーまたは NULL 以外のユニークキーがないテーブル

DDL のみ

読み取り/書き込み

読み取り/書き込み

DDL のみ

サポートされていません

読み取り専用

読み取り専用

__oceanbase_inner_drc_user を作成し、ユーザーに権限を付与する

  1. ApsaraDB for OceanBase コンソールにログインし、[テナント ワークスペース] ページに移動します。

  2. [テナント ワークスペース] ページで、右上隅にある [データベースにログイン] をクリックします。

    [データベース管理] ページに移動してログインすることもできます。

    image.png

  3. [データベースアカウントを入力してください] ダイアログボックスで、ログインするデータベースの名前を入力し、[OK] をクリックします。

  4. [接続パスワードを入力してください] ダイアログボックスで、データベースにログインするためのパスワードを入力し、[OK] をクリックします。

  5. ログイン後、次のコマンドを実行して、ユーザー __oceanbase_inner_drc_user を作成します。

    create user __oceanbase_inner_drc_user identified by '<password>';
  6. 次のコマンドを実行して、ユーザーに権限を付与します。

    grant select on *.* to __oceanbase_inner_drc_user;