报错信息入下图。看也知道是数据库的Nacos之间的问题。还有空指针异常。
首先分析报错的原因,可能有三点:
1、注意nacos/conf/application.properties文件的内容有没有输入错误 主要注意账号密码问题
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=UTC
db.user=root
db.password=123456
2、在高版本的MySql中得添加以上内容的serverTimezone=UTC去标准时间化
3、启动nacos/bin/startup.cmd时可能会导致闪退是因为必须将里面的内容设置为单机版standalone
如果上面说的三点都没有问题那么就跟我进入下载源码并修改与打包环节。因为问题起源于Nacos源码里mysql-connector-java依赖版本是5.x版本,不支持Mysql8.x版本,所以我们要将Nacos源码下载下来修改后重新打包使用。
一、源码地址Releases · alibaba/nacos · GitHub,这里我下载过高版本Nacos还是报错了,所以建议下载低版本的,比如下面这个。
二、下载源码很快,所以我们修改两个地方:
①nacos-1.1.4下面的pom.xml中把mysql-connection-java版本改成自己的,我安装的是8.0.29
②进入nacos-1.1.4/naming/src/main/java/com/alibaba/nacos/naming/healthcheck,将MySqlHealthCheckProcessor类中的第24行代码修改成:import com.mysql.cj.jdbc.MysqlDataSource;
③接着在根目录下也就是nacos-1.1.4使用cmd进行Maven打包,代码如下
mvn -Prelease-nacos clean install -U
④就会在根目录下生成distribution目录,进入这个目录的target目录的nacos-server-1.1.4进行修改最开始的三步骤即可运行成功。