説明
CREATE USER ステートメントは、新しいOceanBaseデータベースユーザーを作成するために使用します。新しいユーザーを作成後、そのユーザーでOceanBaseデータベースに接続できます。
権限要件
CREATE USER ステートメントを実行してユーザーを作成するには、現在のユーザーがグローバルなCREATE USER権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類を参照してください。
構文
CREATE USER [IF NOT EXISTS] {user [, user...]}
[REQUIRE {NONE | SSL | X509 | tls_option}]
[WITH resource_option [resource_option...]];
user:
user_name
| user_name IDENTIFIED [WITH auth_plugin] BY password
| user_name IDENTIFIED [WITH auth_plugin] BY PASSWORD password
| user_name IDENTIFIED [WITH auth_plugin] AS PASSWORD 'auth_string'
tls_option:
CIPHER cipher_name
| ISSUER issuer_name
| SUBJECT subject_name
resource_option:
MAX_CONNECTIONS_PER_HOUR integer
| MAX_USER_CONNECTIONS integer
パラメータ説明
パラメータ |
説明 |
|---|---|
| IF NOT EXISTS | ユーザー名が既に存在する場合、作成しないよう指示します。ユーザー作成時に、作成しようとするユーザー名が既に存在し、IF NOT EXISTS を指定しなかった場合、エラーが発生します。 |
| user_name | ユーザー名です。新規ユーザー作成後、mysql.user テーブルにそのユーザーのレコードが追加されます。複数のユーザーを同時に作成する場合は、半角カンマ(,)で区切ります。 |
| auth_plugin | ユーザー認証方式を指定します。現在、mysql_native_password 認証プラグインのみをサポートしています。 |
| IDENTIFIED BY password | 作成予定のユーザーにパスワードを設定します。ここでのパスワードは平文であり、mysql.user テーブルに格納された後、サーバー側で暗号化されます。パスワードに特殊文字 ~!@#%^&*_-+=`|(){}[]:;',.?/ が含まれる場合は、半角クォート(' または ")で囲む必要があります。 |
| IDENTIFIED BY PASSWORD password | 作成予定のユーザーにパスワードを設定します。ここでのパスワードは暗号文であり、直接 mysql.user テーブルに格納されます。 |
| IDENTIFIED AS PASSWORD | アカウント認証プラグインを auth_plugin に設定し、auth_string の値を mysql.user テーブルに格納します。プラグインがハッシュ文字列を必要とする場合、その文字列が既にプラグインが必要とするハッシュ形式であると仮定されます。 |
| REQUIRE | ユーザーのパスワード認証要件を指定します。以下の値があります。
|
| tls_option | TLS要件の具体的なオプションを指定します。
|
| resource_option | ユーザーのリソースオプションを指定します。複数のリソースオプションを指定する場合は、半角スペースで区切ります。
|
例
ユーザーtest1とtest2を作成し、平文パスワードとユーザーが許可する最大接続数を指定します。
obclient> CREATE USER IF NOT EXISTS test1 IDENTIFIED BY '********', test2 IDENTIFIED BY '********' WITH MAX_USER_CONNECTIONS 10;ユーザーtest3を作成し、暗号化されたパスワードを指定すると同時に、認証にSSL接続の使用を必須とします。
obclient> CREATE USER IF NOT EXISTS test3 IDENTIFIED BY PASSWORD '********' REQUIRE SSL;ユーザーtest4を作成し、mysql_native_password認証プラグインの使用を指定します。
obclient> CREATE USER IF NOT EXISTS test4 IDENTIFIED WITH mysql_native_password BY PASSWORD '********';
関連ドキュメント
ユーザー権限の付与操作については、権限の付与を参照してください。
作成したユーザー情報は
mysql.userテーブルで確認できます。mysql.userテーブルの詳細については、mysql.userを参照してください。作成したユーザーでOceanBaseデータベースに接続する操作については、OceanBaseデータベースへの接続の章を参照してください。