开发者社区 > 云原生 > 微服务 > 正文

请问一下nacos 1.2.0如何修改默认密码?

请问一下nacos 1.2.0如何修改默认密码?

展开
收起
你鞋带开了~ 2024-02-06 15:32:58 304 0
1 条回答
写回答
取消 提交回答
  • 在 Nacos 1.2.0 及以后的版本中,修改默认密码通常涉及到两个环节:修改数据库中存储的密码以及更新 Nacos 服务端缓存中的密码。以下是修改 Nacos 默认密码的步骤:

    第一步:修改数据库中的密码

    1. 连接数据库
      Nacos 默认使用嵌入式的 Derby 数据库,你可以在 ${NACOS_HOME}/conf/nacos-mysql.sql(如果你已改为使用 MySQL)或 ${NACOS_HOME}/conf/nacos-db.sql(对于嵌入式 Derby)中找到初始的建表和插入用户数据的 SQL 脚本。

    2. 修改密码

      • 对于 MySQL,你需要登录 MySQL 数据库,找到 nacos_config.users 表,然后更新 username 为 'nacos' 的用户密码字段(假设你已将默认的 nacos 用户迁移到 MySQL)。
      • 对于嵌入式 Derby,直接操作 Derby 数据库相对复杂,因为它不是常见的远程服务,通常需要通过 Java API 或 SQL 工具来执行更新操作。

    第二步:更新 Nacos 服务端缓存

    由于 Nacos 服务端会缓存用户密码的哈希值,所以仅仅修改数据库中的密码还不够,还需要更新服务端缓存。

    • 停止 Nacos 服务

    • 清除用户缓存

      • 找到 ${NACOS_HOME}/data/namespace/authority 目录下的用户权限信息文件,删除或备份这个文件(因为在重启 Nacos 后,它会根据数据库重新生成)。
    • 重启 Nacos 服务
      重启 Nacos 服务后,它会在启动过程中从数据库加载用户信息,这时就会使用到刚刚在数据库中更新的新密码。

    示例命令(MySQL)

    # 登录 MySQL
    mysql -u root -p
    
    # 切换到 nacos_config 数据库(如果已创建)
    USE nacos_config;
    
    # 更新密码(这里假设新密码是 'new_password')
    UPDATE users SET password = password ('new_password') WHERE username = 'nacos';
    
    # 退出 MySQL
    exit
    
    • 重启 Nacos

       # 停止 Nacos
       sh ${NACOS_HOME}/bin/shutdown.sh
      
       # 清理缓存(可选,如果不清除,理论上重启也会重新加载数据库数据)
       rm -rf ${NACOS_HOME}/data/namespace/authority/*
      
       # 重新启动 Nacos
       sh ${NACOS_HOME}/bin/startup.sh
      
    2024-02-06 16:31:15
    赞同 展开评论 打赏

为微服务建设降本增效,为微服务落地保驾护航。

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载