MySQL双密码支持(8.0.14+)
2020-11-05 本文已影响0人
月饮沙
适用版本
MySQL8.0.14+
作用
启用双密码支持,用户可以同时使用主密码或辅助密码进行登录,避免由于必须修改密码造成的业务中断
权限要求
- 对账号本身设置辅助密码
需要APPLICATION_PASSWORD_ADMIN权
限 - 对其他账号设置辅助密码
需要CREATE USER
权限
配置方法
设置新的主密码
ALTER USER 'appuser1'@'host1.example.com'
IDENTIFIED BY 'password_b'
RETAIN CURRENT PASSWORD;
此时,用户使用新设置的密码和之前的密码都能进行登录
注意事项
- 如果指定新密码为空,则辅助密码也会自动更改为空
- 如果用户已存在辅助密码,只修改主密码(不使用RETAIN CURRENT PASSWORD),辅助密码保持不变
- 如果当前主密码为空,ALTER USER XXX RETAIN CURRENT PASSWORD;语句会失败
- 使用ALTER USER更改分配给用户的身份验证插件,会导致辅助密码丢失。
删除辅助密码
ALTER USER 'appuser1'@'host1.example.com'
DISCARD OLD PASSWORD;