mysql8的驱动的修改_nacos mysql8.0修改

本文介绍了如何解决Nacos与MySQL8.0兼容性问题,提供了两种方法:一是修改Nacos源码,指定更高版本的MySQL驱动,并调整数据库连接参数;二是不修改源码,通过在Nacos安装目录下添加新的MySQL驱动jar包来实现连接。
摘要由CSDN通过智能技术生成

官网下载的Nacos mysql由于驱动过低只支持5.X版本,使用8.X版本的mysql时无法

两种方法

第一种

克隆nacos源码 分支1.0.0-RC3

$ git clone https://github.com/alibaba/nacos.git

$ git checkout 1.0.0-RC3

修改nacos项目根目录下的pom.xml,手动指定mysql驱动版本

PS:这里要注意mysql驱动在nacos-naming和nacos-config两个模块引入过,

如果不想修改主项目的pom文件这两个地方都要进行修改

mysql

mysql-connector-java

8.0.9-rc

修改nacos-naming相关类

// 修改com.alibaba.nacos.naming.hanlthcheck.MysqlHealthCheckProcessor

// 修改前

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

// 修改后

import com.mysql.cj.jdbc.MysqlDataSource;

修改mysql连接参数

mysql8.X版本需要指定时区等参数 &serverTimezone=Asia/Shanghai

// 找到nacos-console下的src/main/resources/META-INF/nacos-default.properties 并修改db.url的数据库连接配置为

characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true

// 修改前

db.url.0=jdbc:mysql://11.162.196.161:3306/diamond_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.url.1=jdbc:mysql://11.163.152.91:3306/diamond_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

// 修改后

db.url.0=jdbc:mysql://11.162.196.161:3306/diamond_devtest?characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true

db.url.1=jdbc:mysql://11.163.152.91:3306/diamond_devtest?characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true

执行构建命令

$ mvn -Prelease-nacos -DskipTests clean install -U

打包后的文件在distribution模块下的target目录,拷贝至定义好的目录并修改配置文件

// 找到nacos下的conf/application.properties 增加mysql数据源配置

# mysql datasource

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true

db.user=root

db.password=这是一个密码

第二种

提示无法连接数据库,检查配置的数据库连接确认无误。

conf/application.proporties

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://localhost:3306/nacos_config?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

db.user=root

db.password=123456

在nacos安装目录下新建plugins/mysql文件夹,并放入8.0+版本的mysql-connector-java-8.0.xx.jar,重启nacos即可。

启动时会提示更换了mysql的driver-class类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值