首批通过分布式安全可靠测评,为关键业务系统打造
SET PASSWORD
更新时间:2026-07-16 20:01:47
描述
该语句用于修改 OceanBase 数据库当前登录用户或其他用户的密码。
语法
SET PASSWORD [FOR user] = password_option [RETAIN CURRENT PASSWORD];
password_option: {
PASSWORD('authstring')
|'hashstring'
}
说明
可选子句 RETAIN CURRENT PASSWORD 用于在设置新密码的同时保留旧密码,用于双密码场景,从 V4.4.2 BP1 版本开始支持。
参数解释
| 参数 | 描述 |
|---|---|
| FOR user | 如果没有 FOR user 子句,表示修改当前用户的密码。任何成功登录的用户都可以修改当前用户的密码。 如果有 FOR user 子句,表示修改指定用户的密码。必须拥有全局(MySQL 库)的 CREATE USER 权限,才可以修改指定用户的密码。 |
| password | 默认 password 为明文传输, 会在内核做一次编码。 |
| RETAIN CURRENT PASSWORD | 可选,写在 = 右侧 password_option 之后:与本次设置的新密码同时生效,保留改密前的旧密码,进入双密码状态。 |
示例
修改当前用户的密码。
obclient> SET PASSWORD = PASSWORD('**1***'); Query OK, 0 rows affected修改
sqluser01用户的密码。obclient> SET PASSWORD FOR sqluser01 = PASSWORD('**2***'); Query OK, 0 rows affected修改
sqluser01用户的密码并保留旧密码(双密码)。obclient> SET PASSWORD FOR sqluser01 = PASSWORD('**2***') RETAIN CURRENT PASSWORD; Query OK, 0 rows affected