关于Nacos连接Mysql8.0版本不支持

原因:

mysql8.0以后驱动有所变化,无法使用旧驱动连接。

解决:

1、修改目录下pom.xml文件中的mysql驱动

1
2
3
4
5
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>

2、 修改naming这个项目 com.alibaba.nacos.naming.healthcheck 包下的 MysqlHealthCheckProcessor 类,引入的驱动包修改为:

1
import com.mysql.cj.jdbc.MysqlDataSource;

3、 修改 console这项目 resources/META-INF下 nacos-default.properties这个文件 ,如下:

1
2
db.url.0=jdbc:mysql://localhost:3306/nacos?serverTimezone=UTC&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.url.1=jdbc:mysql://localhost:3306/nacos?serverTimezone=UTC&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

注意:在db.url.0中添加时区 serverTimezone=UTC

4、打包

cmd命令窗口进入项目根目录执行:

1
mvn -Prelease-nacos clean install -U

执行完成之后打包好的文件在项目根目录下:

1
根目录\distribution\target

5、修改配置

打开conf目录下的配置文件,在末尾添加数据源配置:

1
2
3
4
5
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=UTC
db.user=root
db.password=123456

6、 然后在MySQL数据库中新建nacos数据库,并导入Nacos解压包conf目录下的nacos-mysql.sql脚本

7、启动