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

在Nacos中初始化如何创建用户?

在Nacos中初始化如何创建用户?

展开
收起
冲冲冲c 2024-06-24 17:14:30 277 0
2 条回答
写回答
取消 提交回答
  • 找到 ${nacos.home}/conf/ 目录下的数据库初始化脚本。对于MySQL,文件名为 mysql-schema.sql。
    修改 mysql-schema.sql 中关于用户(users)表的插入语句,将默认密码nacos替换为您希望设置的密码。例如:
    INSERT INTO users (username, password, enabled) VALUES ('nacos', '${new_password}', TRUE);

    2024-06-26 13:17:45
    赞同 展开评论 打赏
  • 我们给到的建议是:
    Nacos 初始化时,默认会创建一个管理员用户,用户名和密码均为 nacos。若想在初始化阶段自定义此用户密码,您需要按照以下步骤操作:

    修改数据库初始化脚本:

    在Nacos部署前,找到 ${nacos.home}/conf/ 目录下的数据库初始化脚本。对于MySQL,文件名为 mysql-schema.sql。
    修改 mysql-schema.sql 中关于用户(users)表的插入语句,将默认密码nacos替换为您希望设置的密码。例如:
    INSERT INTO users (username, password, enabled) VALUES ('nacos', '${new_password}', TRUE);

    注意 ${new_password} 需要使用BCrypt算法加密。您可以使用Nacos提供的工具类 PasswordEncoderUtil 进行加密,或者寻找相应语言的BCrypt加密工具包。

    执行加密操作:

    如果选择使用Nacos提供的 PasswordEncoderUtil,请按照以下Java代码示例执行:
    public class Main {
    public static void main(String[] args) {
    System.out.println(new BCryptPasswordEncoder().encode("您希望设置的明文密码"));
    }
    }

    运行上述代码,将输出加密后的密码,将其替换到步骤1中的${new_password}位置。

    初始化Nacos:

    完成上述脚本修改并确保密码已正确加密后,正常启动Nacos集群。Nacos将使用修改后的密码初始化管理员用户。

    解释:

    此过程允许您在Nacos集群首次启动时即设定管理员用户的密码,避免了后续需要修改密码的额外步骤。
    使用BCrypt加密是为了增强密码的安全性,防止明文密码在数据库中泄露风险。
    修改数据库初始化脚本是一种底层的配置方式,适用于希望在部署初期就定制化配置的场景。

    以上步骤基于Nacos开源项目的常规操作流程,确保遵循了安全与定制化需求。如果您在操作过程中遇到具体技术障碍或有其他关于Nacos的疑问,欢迎继续提问。此回答整理来自钉群“Nacos社区群2(已满,欢迎加4群:12810027056)”。

    2024-06-25 22:14:48
    赞同 展开评论 打赏
问答分类:
问答地址:

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

相关电子书

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