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

ApsaraDB for OceanBase:OceanBase クラスタインスタンスの通常アカウントを作成し、アカウントに権限を付与する

最終更新日:Feb 27, 2025

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

背景

MySQL モードの OceanBase クラスタインスタンスは、通常アカウント、スーパーアカウント、読み取り専用アカウントの 3 種類のデータベースアカウントをサポートしています。データ伝送サービスを使用して OceanBase クラスタインスタンスからデータを移行する場合は、次のルールに従ってください。

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

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

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

この例では、OceanBase クラスタインスタンスに対して通常アカウントが作成されます。OceanBase データソースを作成するときは、[ユーザー名] フィールドにこのアカウントを指定します。

image.png

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

クラスタインスタンスの通常アカウントを作成する

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

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

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

    3. 左側のナビゲーションウィンドウで、[インスタンス] をクリックし、ターゲットインスタンスの名前をクリックします。

  2. [アカウント] ページに移動します。

    1. [クラスタインスタンスワークスペース] ページで、左側のナビゲーションウィンドウの [テナント管理] をクリックします。

    2. [テナント] ページで、ターゲット MySQL テナントの名前をクリックします。

      image.png

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

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

    image.png

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

    image.png

    パラメーター

    説明

    ユーザー名

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

    アカウントタイプ

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

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

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

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

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

    パスワード

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

    説明

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

    備考 (オプション)

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

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

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

次の表に、データ移行のさまざまなフェーズでソース OceanBase クラスタインスタンス (MySQL モード) の通常アカウントに必要な最小限の権限を示します。

テーブルタイプ

スキーマ移行

フル移行

増分 DML 操作同期

増分 DDL 操作同期

フル検証

逆増分同期

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

読み取り専用

読み取り専用

読み取り専用

読み取り専用

読み取り専用

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

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

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

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

読み取り専用

  • 読み取り専用

  • __oceanbase_inner_drc_user が必要

読み取り専用

読み取り専用

__oceanbase_inner_drc_user が必要

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

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

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

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

次の表に、データ移行のさまざまなフェーズでターゲット OceanBase クラスタインスタンス (MySQL モード) の通常アカウントに必要な最小限の権限を示します。

テーブルタイプ

スキーマ移行

フル移行

増分 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;