nacos持久化配置MySQL8_Nacos 数据持久化 mysql8.0

本文档详细介绍了如何解决Nacos在使用MySQL8.0及以上版本时遇到的问题。首先,通过修改nacos源码中的mysql驱动版本和相关类,使其兼容MySQL8.0。接着,调整console项目的配置文件以包含时区信息。然后,通过Maven命令进行打包,并创建Nacos数据库及运行SQL脚本。最后,配置application.properties文件以连接自定义的MySQL数据库,确保时区设置正确。
摘要由CSDN通过智能技术生成

一.问题描述

直接下载的稳定版本nacos编译后的文件,不支持mysql8及其以上版本,按照官网文档:https://nacos.io/zh-cn/docs/deployment.html 执行完成之后启动会报错,如下(错误信息没有截取完整):

cd613792a86d7054b3d1843a667c6de0.png

二.问题处理

下载nacos源码 https://github.com/alibaba/nacos 选择需要的版本,我这里选择的是1.0.0-R3

1.修改最外层pom.xml 中 mysql驱动版本,我这边使用的是8.0.16

mysql

mysql-connector-java

8.0.16

2.修改naming这个项目com.alibaba.nacos.naming.healthcheck 包下的  MysqlHealthCheckProcessor 类的第24行导包为:

import com.mysql.cj.jdbc.MysqlDataSource;

3.由于mysql8及其以上版本需要带时区,所以还需要修改 console这项目 resources/META-INF下 nacos-default.properties这个文件中的db.url

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

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

三、打包

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

mvn -Prelease-nacos clean install -U

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

根目录distributiontarget

创建数据库nacos并运行nacos/conf/nacos-mysql.sql 文件,创建表格

配置自己的mysql地址  在nacos/conf/application.properties中添加

spring.datasource.platform=mysql

db.num=1db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=root

db.password=123456

注意:在db.url.0中添加时区 serverTimezone=GMT%2B8

四、成果展示

df8c858d8268c32f6fd6c9c741bf324e.png

c17ebd83c320b149ae47f2b32c0af03c.png

内容来源于网络如有侵权请私信删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值