nacos如何找回/重置naocs用户密码?
在 Nacos 中,数据库里存储的密码是使用 BCrypt 算法进行加密的散列值(Hash)。因为 BCrypt 是一种不可逆的单向加密算法,所以无法直接从数据库中存储的密文反推出原始明文密码。
如果你忘记了 Nacos 的密码,最直接有效的解决办法不是“找回”,而是直接在数据库中将密码修改(重置)为一个已知的新密码。
第一步:生成新密码的 BCrypt 密文
由于 Nacos 验证时需要读取密文,你不能直接把明文(比如 123456)写进数据库,必须先将新密码转换成 BCrypt 格式。
这里提供一个已经生成好的官方默认密码密文,如果你想把密码改回 **nacos**,它的密文是:$2a$10$EuWPZHzz32dJN7jexM34EKxwNfNqoAq5kvgTddS7xbP6K6FmP766.
提示:如果你想设置其他自定义密码,可以使用 Java 代码调用
new BCryptPasswordEncoder().encode("你的新密码")来生成,或者使用在线 BCrypt 加密工具生成。
第二步:前往数据库执行更新 SQL
打开你 Nacos 所绑定的 MySQL(或其他外置数据库),找到 Nacos 的配置数据库,执行以下 SQL 语句来重置密码:
1 | -- 假设你要把用户名为 nacos 的密码重置为默认的 "nacos" |
如果你修改的是其他自定义管理员账号,只需把 WHERE username = 'nacos' 中的 'nacos' 替换为对应的用户名即可。
第三步:登录验证
修改完成后,不需要重启 Nacos 服务。直接刷新 Nacos 控制台的登录页面,使用你的用户名和你刚刚设定好的新明文密码(如果使用的是上面的 SQL,密码就是 nacos)进行登录即可。