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

相关推荐
知识即是力量ol6 天前
微服务架构:从入门到进阶完全指南
java·spring cloud·微服务·nacos·架构·gateway·feign
码农阿豪7 天前
Nacos 日志与 Raft 数据清理指南:如何安全释放磁盘空间
java·安全·nacos
学习是生活的调味剂13 天前
nacos原理之服务注册浅析
java·开发语言·nacos·注册中心
金刚猿15 天前
03_虚拟机中间件部署_Nacos 部署单机模式、配置鉴权
linux·中间件·nacos·配置鉴权
利刃大大16 天前
【SpringCloud】Nacos简介 && 安装 && 快速入手 && 负载均衡
spring·spring cloud·微服务·nacos·负载均衡
没有bug.的程序员22 天前
服务注册与发现:Consul vs. Nacos 的选型博弈、内核拆解与混合云实战指南
java·spring boot·spring·nacos·consul·服务注册于发现·内核拆解
CodeCaptain24 天前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
斯普信专业组1 个月前
Nacos-MCP 融合架构:运维nacos的MCP服务项目
运维·nacos·架构
魔芋红茶1 个月前
NACOS 二次开发指南
nacos
没有bug.的程序员1 个月前
Spring Cloud Alibaba:Nacos 配置中心与服务发现的工业级深度实战
java·spring boot·nacos·服务发现·springcloud·配置中心·alibaba