NACOS连接mysql6.x以上版本数据无法保存至数据库(连接数据库失败: server is only_read)问题
遇到的问题
由于nacos自身携带的mysql驱动太低,导致连接高版本的mysql时失败
1:下载源码
https://github.com/alibaba/nacos
我这里是直接用idea打开nacos
2:找找最外层pom修改mysql版本
3:同一pom的子模块管理中注释掉module test,此时若弹出提示remove test module确定就ok
4:找到module nacos_naming里的com.alibaba.nacos.naming.healthcheck.MysqlHealthCheckProcessor类
改为
5:cmd 编译打包
mvn -Prelease-nacos clean install -U
```
6:nacos_server.jar复制到本地nacos中
把jar包复制到本地nacos->target文件夹中
创建数据库nacos_config、配置application.properties文件
找到nacos->config文件夹
右键查看nacos-mysql
将其全部复制,在自己的数据库中新建名为nacos_config的数据库,粘贴sql语句,执行创建表。
打开编辑application.properties文件,在末尾下加
####################################################
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?serverTimezone=UTC&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
注意这里一定要加serverTimezone=UTC,MySQL jdbc 6.0 版本以上必须配置“serverTimezone”参数,UTC代表的是全球标准时间,博主也是一直卡在这个地方。
运行
可以看到,已经启动成功了。此时打开localhost:8848/nacos随便增加个配置文件并分布,检查是否正常连接数据库