Nacos 2.4.3 初始化配置连接数据库、开启鉴权及程序注册

1. Nacos下载

nacos官网 下载并解压到自己的电脑上,找到 nacos/conf文件,默认有两种数据库的。

2. 初始化配置文件并连接数据库

2.1 初始化数据库

我们以mysql为例,新建一个数据库(例如:nacos),把 mysql-schema脚本运行到数据库中,运行结果如下图所示。

2.2 配置数据库连接

找到nacos/conf的配置文件(application.propertis)

启动Nacos(单机启动)

复制代码
startup.cmd -m standalone
复制代码
http://192.168.2.14:8848/nacos/index.html

Tips: 如果是第一次登录,那么第一次输入的密码就是初始化密码,会提示初始化密码成功,登录之后可以修改。

登录成功

3. 开启鉴权

3.1 开启鉴权配置

找到 nacos/conf 下面的 application.properties文件,修改以下配置

3.2 创建Nacos登录账号和密码,生成 32 字节的随机密钥

Tips: 如果没有引入Nacos依赖,先引入Nacos依赖

bash 复制代码
package com.xcmd.shop.platform.model;

import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;

import java.security.SecureRandom;
import java.util.Base64;
import java.util.Properties;

/**
 * @author jlyang
 * @date 2025/6/2 11:12
 * @description:
 */
public class NacosAuth {

    public static void main(String[] args) {
        createNacosAuth();
        getBase64SecretKey();
    }

    /**
     * 获取 Base64 编码的密钥
     */
    private static void getBase64SecretKey() {
        // 生成 32 字节的随机密钥
        byte[] secretKeyBytes = new byte[32];
        SecureRandom secureRandom = new SecureRandom();
        secureRandom.nextBytes(secretKeyBytes);
        // 将字节数组编码为 Base64 字符串
        String base64SecretKey = Base64.getEncoder().encodeToString(secretKeyBytes);
        System.out.println("Generated Base64 Encoded Secret Key:");
        // 把这个密钥放在 nacos.core.auth.plugin.nacos.token.secret.key=
        System.out.println(base64SecretKey);
    }

    /**
     * 创建 Nacos 鉴权
     */
    private static void createNacosAuth() {
        try {
            // Nacos 服务器地址(替换为实际地址)
            String serverAddr = "127.0.0.1:8848";
            Properties properties = new Properties();
            properties.put("serverAddr", serverAddr);

            // 如果需要鉴权
            // nacos.core.auth.server.identity.key=nacos
            properties.put("username", "nacos");
            // nacos.core.auth.server.identity.value=123456
            properties.put("password", "123456");

            // 初始化配置服务
            ConfigService configService = NacosFactory.createConfigService(properties);
            System.out.println("configService" + JSON.toJSONString(configService));
            // 初始化命名服务
            NamingService namingService = NacosFactory.createNamingService(properties);
            System.out.println("namingService" + JSON.toJSONString(namingService));
            System.out.println("Nacos services initialized successfully!");
        } catch (NacosException e) {
            e.printStackTrace();
        }
    }
}

3.3 重启Nacos

复制代码
执行命令:`startup.cmd -m standalone`

3.4 访问Nacos的启动地址

访问地址:输入设置好的账号和密码,点"提交"按钮

bash 复制代码
http://192.168.2.14:8848/nacos/index.html#/login

登录成功

重新修改密码

3.5 程序访问时需配置账号和密码

在配置文件中添加

bash 复制代码
username: nacos # Nacos 账号
password: 123456 # Nacos 密码

参考官网配置鉴权:(https://nacos.io/docs/next/manual/user/auth/)

相关推荐
爱琴孩21 小时前
nacos实现注册中心原理详解
nacos·注册中心·raft协议
UCoding2 天前
我们来学nacos -- 切换UAT,搭建集群nacos
nacos·nacos集群
全靠bug跑3 天前
Nacos 入门实战:部署、服务注册与发现全指南
java·spring cloud·docker·nacos
梵得儿SHI5 天前
SpringCloud - 核心组件精讲:Nacos 深度解析(服务注册 + 配置中心一站式实现)
java·spring boot·spring cloud·nacos·微服务架构的核心组件·服务注册发现与配置管理·nacos的核心原理与实战应用
刘一说11 天前
Nacos 权限控制详解:从开源版 v2.2+ 到企业级安全实践
spring boot·安全·spring cloud·微服务·nacos·架构·开源
kong790692818 天前
微服务项目开发环境
微服务·nacos·rabbitmq·开发环境
whltaoin20 天前
【 Java微服务 】Spring Cloud Alibaba :Nacos 注册中心与配置中心全攻略(含服务发现、负载均衡与动态配置)
java·微服务·nacos·springcloud·注册中心·配置中心
小坏讲微服务1 个月前
Spring Cloud Alibaba 2025.0.0 与 Nacos 3.1.0 集群整合
分布式·nacos·架构·springcloud·nacos集群·springalibaba
没有bug.的程序员1 个月前
Spring Cloud Gateway 性能优化与限流设计
java·spring boot·spring·nacos·性能优化·gateway·springcloud
小道仙971 个月前
Dubbo如何使用Nacos做注册中心的
java·nacos·dubbo·服务注册