首批通过分布式安全可靠测评,为关键业务系统打造
ALTER USER
更新时间:2026-02-12 17:41:56
描述
该语句主要用于执行以下操作:
修改 OceanBase 数据库用户的密码。
锁定或者解锁用户,且被锁定的用户不允许登录数据库。
说明
除了修改当前用户的口令之外,必须拥有
CREATE USER的权限,才可以执行本命令。设置用户在登录时默认激活的角色。
修改用户的资源选项。
权限要求
执行 ALTER USER 语句需要当前用户具备 CREATE USER 管理权限。有关 OceanBase 数据库权限的详细介绍,请参见 MySQL 模式下的权限分类。
语法
修改用户密码:
ALTER USER 'user_name' IDENTIFIED [WITH auth_plugin] BY 'password' | IDENTIFIED [WITH auth_plugin] AS 'auth_string'锁定用户:
ALTER USER 'user_name' [ACCOUNT LOCK | ACCOUNT UNLOCK]设置用户在登录时默认激活的角色:
ALTER USER user_name DEFAULT ROLE {NONE | ALL | role_name [, role_name ...]}修改用户的资源选项:
ALTER USER user_name WITH resource_option [resource_option] resource_option: MAX_CONNECTIONS_PER_HOUR integer | MAX_USER_CONNECTIONS integer
参数解释
| 参数 | 描述 |
|---|---|
| user_name | 指定用户名称。 |
| password | 指定新密码。 |
| IDENTIFIED WITH auth_plugin AS 'auth_string' | 将账户身份验证插件设置为 auth_plugin,并将 auth_string 值存储在 mysql.user表中。如果插件需要哈希字符串,则假定该字符串已经是插件所需的哈希格式。 |
| ACCOUNT LOCK | 指定锁定用户。 |
| ACCOUNT UNLOCK | 指定解锁用户。 |
| NONE | 指定停用用户被授予的所有角色。 |
| ALL | 指定激活用户下所有的角色。 |
| role_name | 指定角色的名称,激活多个角色时,角色名用英文逗号(,)隔开。 |
| resource_option | 指定用户的资源选项,指定多个资源选项时,使用英文空格隔开。
|
示例
执行以下命令将用户
sqluser01的密码修改为******。obclient> CREATE USER 'sqluser01' IDENTIFIED BY '******'; obclient> ALTER USER 'sqluser01' IDENTIFIED BY '******';执行以下命令指定身份验证插件。
obclient> ALTER USER 'sqluser01' IDENTIFIED WITH mysql_native_password AS '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4';锁定用户
obsqluser01。obclient> CREATE USER 'obsqluser01' IDENTIFIED BY '******'; obclient> ALTER USER 'obsqluser01' ACCOUNT LOCK;解锁用户
obsqluser01。obclient> ALTER USER 'obsqluser01' ACCOUNT UNLOCK;指定用户
user001在登录时,默认激活用户被授予的role001和role002角色。obclient> CREATE USER user001 IDENTIFIED BY '******'; -- 确保角色 `role001` 和 `role002` 已经存在。 obclient> ALTER USER user001 DEFAULT ROLE role001, role002;修改用户的资源选项。先创建用户
user001,然后修改其最大连接数。obclient> ALTER USER user001 WITH MAX_USER_CONNECTIONS 30;修改用户
user001每小时的最大连接数。obclient> ALTER USER user001 WITH MAX_CONNECTIONS_PER_HOUR 50;同时修改用户
user001的最大连接数和每小时的最大连接数。obclient> ALTER USER user001 WITH MAX_USER_CONNECTIONS 300 MAX_CONNECTIONS_PER_HOUR 500;