このトピックでは、OceanBase クラスターインスタンスの MySQL 互換テナントで通常アカウントを作成し、データ移行の各フェーズでアカウントに最小限の権限を付与する方法について説明します。
背景情報
MySQL 互換モードの OceanBase クラスターインスタンスは、通常アカウント、スーパーアカウント、読み取り専用アカウントの 3 種類のデータベースアカウントをサポートしています。データ転送サービスを使用して OceanBase クラスターインスタンスからデータを移行する場合、次のルールに従ってください:
通常アカウントを使用する場合は、このトピックの説明に基づいてアカウントに権限を付与します。
スーパーアカウントを使用する場合、デフォルトですべてのデータベースに対する読み取り/書き込み権限を持ちます。
読み取り専用アカウントを使用する場合、デフォルトですべてのデータベースに対する読み取り権限を持ちます。
この例では、OceanBase クラスターインスタンス用に通常アカウントが作成されます。OceanBase データソースを作成する際に、このアカウントを [ユーザー名] フィールドに指定します。

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

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

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

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