首批通过分布式安全可靠测评,为关键业务系统打造
ALTER USER
更新时间:2024-04-25 16:51:52
描述
该语句主要用于执行以下操作:
修改数据库用户的密码。
修改数据库用户使用的 Profile。
修改数据库用户连接的加密方式,其它修改用户密码方式,请参见 SET PASSWORD。
修改数据库用户拥有角色的默认角色。
说明
除了修改当前用户的命令外,必须拥有
ALTER USER权限,才可以执行本命令。
语法
ALTER USER user_name
{ IDENTIFIED BY password
| PROFILE {"profile_name" | DEFAULT}
| 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。
|
| REQUIRE | 指定用户使用的加密协议为 NONE、SSL、X509 和 tls_option_list 中的一种。 |
| 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的默认角色。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。