1、修改使用mysql数据库存储配置信息。Nacos Server默认使用的是内嵌的cmdb数据库
在配置文件(./conf/application.properties)添加配置

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://IP地址:端口号/数据库名?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

所以最终整个配置文件:

# spring

server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false

spring.datasource.platform=mysql

# !!!!此处设置mysql的相关配置url、用户名、密码
db.num=1
db.url.0=jdbc:mysql://IP地址:端口号/数据库名?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

# metrics for prometheus
#management.endpoints.web.exposure.include=*

# metrics for elastic search
management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200

# metrics for influx
management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true

server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D
# default current work dir
server.tomcat.basedir=

## spring security config
### turn off security
#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**

nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**

2、创建数据库
在Nacos Server conf文件夹下,找到nacos-mysql.sql文件

SpringCloud Alibaba Nacos --------自定义登录用户名和密码(三)_mysql

 

 

3、启动server,可以用用户名和密码   nacos   nacos登录一下试试,没问题,再继续下一步

4、生成加密密码, 在com.alibaba.nacos.console.utils.PasswordEncoderUtil.main函数中,将nacos改成你要改成的密码,运行即可得到加密有算法。注意盐值是随机的,所以生成密码每次可能不一样,请不要担心。

public class PasswordEncoderUtil {

public static void main(String[] args) {
System.out.println(new BCryptPasswordEncoder().encode("nacos"));
}
}

6、实际的密码生成是用的:org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.BCryptPasswordEncoder()
可以通过引入依赖:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

7、然后用代码加密:(随便写一个即可)

package com.alibaba.nacos.console.utils;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
* Password encoder tool
*
* @author nacos
*/
public class PasswordEncoderUtil {

public static void main(String[] args) {
System.out.println(new BCryptPasswordEncoder().encode("admin"));
}
}

8、 创建用户名或者密码的时候,用指定用户名密码即可
例如上面我设置密码是admin,加密后是:$2a$10$YrC76q2zs2zLLlUljW5MzubUS0L2hKtMYfjDQCmtWkNLFjFTCf9zO
只需将密码在数据库中进行修改即可。

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$YrC76q2zs2zLLlUljW5MzubUS0L2hKtMYfjDQCmtWkNLFjFTCf9zO', TRUE);
INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

或者直接在数据库中修改: 

SpringCloud Alibaba Nacos --------自定义登录用户名和密码(三)_mysql_02

9、修改完数据库后,用自定义的admin密码登录

SpringCloud Alibaba Nacos --------自定义登录用户名和密码(三)_spring_03