出现上述的异常是因为 nacos 使用的是 MySQL 5,要使用 MySQL 8 需要修改源码
源码: https://github.com/alibaba/nacos.git
拉取源码后
1. 先切换到对应的 tag 版本,修改mysql驱动版本,将mysql版本换成 mysql 8 的版本
修改最外层pom.xml 中 mysql驱动版本
2. 修改时区
修改 console 项目 resources/META-INF下 nacos-default.properties 文件中的 db.url,
在 db.url.0,db.url.1 地址末尾添加 &serverTimezone=GMT+8
3. 修改 mysql 数据源实例
修改 naming 项目 com.alibaba.nacos.naming.healthcheck 包下的 MysqlHealthCheckProcessor 类第24行的导包为
import com.mysql.cj.jdbc.MysqlDataSource;
4. 打包
在终端使用 mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U 命令打包
打包后的文件在 distribution 项目 target 目录下
5. 创建数据库表及mysql地址配置
创建数据库nacos并运行nacos/conf/nacos-mysql.sql 文件,创建数据库表表
配置自己的mysql地址 在nacos/conf/application.properties中添加
spring.datasource.platform=mysql
db.num=1 db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=GMT+8 db.user=root db.password=123456
6. 启动
进入 nacos/bin
Linux/Unix/Mac
sh startup.sh -m standalone
Windows
cmd startup.cmd -m standalone
windows 如果出现无法启动(没有找到文件路径),需要修改 startup.cmd 文件,将第 70 行的 target\ 改为 target/
启动后在浏览器输入 http://localhost:8848/nacos/index.html
账号密码相同,都是 nacos