This topic describes how to create a user.
Privileges required to create a user
You may need to create users and grant them privileges in OceanBase Database as needed. To create a user, you must have the CREATE USER privilege.
By default, only cluster and tenant administrators have the CREATE USER privilege. Other users can create a user only after they are granted the CREATE USER privilege. For more information, see Grant direct privileges.
Naming conventions for usernames
When you specify a name for a user, note that:
Unique username in a tenant
Users in the same tenant must have unique names. However, users in different tenants can have the same name. You can globally and uniquely identify a tenant user by specifying the username in the
username@tenant nameformat.Naming conventions
When you create a user through the OBClient or OceanBase Developer Center (ODC), the username cannot exceed 64 bytes in length.
When you create a user through the OceanBase Cloud Platform (OCP) console, the username must be 2 to 64 characters in length and start with a letter, and can contain letters, digits, and underscores (
_).
Create a user with the minimum database privileges by using an SQL statement
You can use the CREATE USER statement to create a user. Creating a user requires the system privilege CREATE USER. When creating a user, it is recommended to adhere to the principle of least privilege, which means that each user should only have the minimum privileges necessary to perform their tasks.
Execute the following statement to create a user:
CREATE USER user_name [host_name] IDENTIFIED BY password [REQUIRE {NONE | SSL | X509 | tls_option_list}]
[PROFILE user_profile] [DEFAULT TABLESPACE table_space] [PRIMARY_ZONE 'zone_name']
password:
STR_VALUE
tls_option_list:
tls_option
| tls_option_list, tls_option
tls_option:
CIPHER STR_VALUE
| ISSUER STR_VALUE
| SUBJECT STR_VALUE
where:
user_nameindicates the username. If a user with the same name already exists, the system will report an error.host_nameindicates the IP address of the host to which the user belongs, in the@xx.xx.xx.xxformat.IDENTIFIED BYindicates the password for the user. This parameter is required in Oracle mode.REQUIREindicates the encryption protocol for the user. Valid values:NONE,SSL,X509, andtls_option_list.PROFILEindicates the profile for the user. If this parameter is not specified, theDEFAULTconfiguration file will be used. By default, there is no limit to all settings in theDEFAULTconfiguration file.DEFAULT TABLESPACE table_spaceindicates the default tablespace for the user. This parameter is generally meaningless.PRIMARY_ZONEindicates the primary zone for the user.For more information about the primary zone, see Primary zone.
Create a user named test2 and grant the user only the database connection privilege.
Log on to an Oracle tenant of the cluster as the
SYSuser.Execute the following statement to create a user named
test2:obclient> CREATE USER test2 IDENTIFIED BY ******;For more information about the
CREATE USERstatement, see CREATE USER.Execute the following statement to grant the database connection privilege to the
test2user:obclient>GRANT CREATE SESSION TO test2;For more information about the
GRANTstatement, see GRANT.