首批通过分布式安全可靠测评,为关键业务系统打造
ALTER USER
更新时间:2026-07-01 13:36:45
描述
该语句主要用于执行以下操作:
修改数据库用户的密码。
修改数据库用户使用的 Profile。
修改数据库用户连接的加密方式,其它修改用户密码方式,请参见 SET PASSWORD。
修改数据库用户的 Primary Zone。
修改数据库用户拥有角色的默认角色。
说明
除了修改当前用户的命令外,必须拥有 ALTER USER 权限,才可以执行本命令。
语法
ALTER USER user_name
{ IDENTIFIED BY password
| PROFILE {"profile_name" | DEFAULT}
| PRIMARY_ZONE 'zone_name'
| REQUIRE {NONE | SSL | x509 | tls_option_list};
| DEFAULT ROLE
{ role_name[,role_name...]
| ALL [EXCEPT role_name[,role_name...]]
| NONE
}
};
tls_option_list:
tls_option
| tls_option_list tls_option
tls_option:
CIPHER str_value
| ISSUER str_value
| SUBJECT str_value
参数解释
| 参数 | 描述 |
|---|---|
| user_name | 用户名。 |
| IDENTIFIED BY | 指定用户新密码。 |
| PROFILE | 指定用户使用的的 Profile。
|
| PRIMARY_ZONE | 指定用户的 Primary Zone。 |
| REQUIRE | 指定用户使用的加密协议为 NONE、SSL、X509 和 tls_option_list 中的一种。 |
| DEFAULT ROLE | 指定用户登录时的默认角色。 * ALL:把用户拥有的所有角色都设置为默认角色。 EXCEPT 子句表示列出的角色除外,为可选项。 * NONE:不指定默认角色,即禁用用户的所有角色。 注意 以下情况不能指定 DEFAULT ROLE: * 未授予用户的角色。 * 通过其他角色授予的角色。 |
示例
修改用户
user1的密码。obclient> ALTER USER user1 IDENTIFIED BY ******; Query OK, 0 rows affected
修改用户
user1连接加密协议为SSL。obclient> ALTER USER user1 REQUIRE SSL; Query OK, 0 rows affected
修改用户
user1使用的的 Profile 为profile1。obclient> ALTER USER user1 PROFILE "profile1"; Query OK, 0 rows affected修改用户
user1的 Primary Zone 为zone2。obclient>ALTER USER user01 PRIMARY_ZONE 'zone2'; Query OK, 0 rows affected设置用户
user1的默认角色。obclient> CREATE ROLE role1; Query OK, 0 rows affected obclient> CREATE ROLE role2 IDENTIFIED BY ******; Query OK, 0 rows affected obclient> CREATE ROLE role3 IDENTIFIED BY ******; Query OK, 0 rows affected obclient> GRANT role1,role2,role3 TO user1; Query OK, 0 rows affected obclient> ALTER USER user1 DEFAULT ROLE role1; Query OK, 0 rows affected说明
用户
user1可以直接使用role1的权限。role2和role3的权限需要用户user1在会话中启用role2和role3后,用户user1才能使用其权限 。 有关启用角色命令的详细信息,请参见 SET ROLE。