MySQL8.0允许账户具有双密码,从而允许我们的服务无缝地进行密码更改,无须停机
MySQL版本:8.0.26
# 执行以下命令查看当前MySQL版本号,对应为:8.0.26
SELECT version();
# 查看当前登录用户名和host,对应为:root@localhost
SELECT user();
# 为当前用户创建新密码,并保留当前密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567' RETAIN CURRENT PASSWORD;
使用旧密码登录:
使用新密码登录:
# 清除旧密码
ALTER USER 'root'@'localhost' DISCARD OLD PASSWORD;
这个时候我们再使用旧密码去连接MySQL,提示Access denied,说明旧密码已经被清除掉
双密码可以完美解决线上DB变更过程中可能出现服务连接MySQL失败的风险。