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/)

相关推荐
主公不搬砖2 天前
Nacos 2.5.2 国产信创 kingbase适配
java·docker·nacos·信创·kingbase·国产适配
_loehuang_7 天前
【mole】Mole User 开源用户中心:一站式身份认证与权限管理解决方案
spring boot·nacos·开源·用户中心·mole
Roye_ack14 天前
【微服务 Day2】SpringCloud实战开发(微服务拆分步骤 + Nacos注册中心 + OpenFeign + 微服务拆分作业)
java·spring cloud·微服务·nacos·openfeign
BIBI204916 天前
Windows 上配置 Nacos Server 3.x.x 使用 MySQL 5.7
java·windows·spring boot·后端·mysql·nacos·配置
斯普信专业组22 天前
Nacos升级及数据迁移方案
nacos
沉浮yu大海1 个月前
基于SpringBoot3+Java17+Nacos的配置中心和本地配置文件加解密
java·spring cloud·nacos·java17
爱琴孩1 个月前
nacos实现注册中心原理详解
nacos·注册中心·raft协议
UCoding1 个月前
我们来学nacos -- 切换UAT,搭建集群nacos
nacos·nacos集群
全靠bug跑1 个月前
Nacos 入门实战:部署、服务注册与发现全指南
java·spring cloud·docker·nacos