问题描述
nacos版本:2.0.3
mysql版本:8
nacos默认使用的是自带的derby数据库,分布式场景下一般是多个nacos作为配置中心和服务注册中心,每个nacos服务都采用自带的derby数据库难免会出现数据不一致的问题。
我跟据官方文档(链接: link),想修改默认数据库为mysql8
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow
但是修改匹配值文件后,nacos重启报错
解决方案
网上很多解决办法,我试了但是都没有效果,比如添加mysql8的驱动、数据库链接字符串中添加时区参数、修改超时时间等等…
最后我突然想到进mysql看看,发现我的密码居然不对…修改链接数据库密码后重启成功(我管理了几台云服务器,服务器上docker部署了好几个数据库,密码记混了,亏我这么自信,直接跳过了账号密码不对的问题,呸!)
验证
登录nacos,采用默认账号密码登录
操作nacos数据前:
对应的数据库表
添加用户,并查看数据库
问题解决,nacos数据能保存到我们定义的mysql数据库中
总结
错误原因:nacos配置文件中,自己添加的连接mysql数据库的账号密码错误,不要太自信,用mysql命令测试一下是否正确…不然像我一样浪费俩小时,结果是个这么简单的问题…
最后:
又是mysql数据库账号密码错误的坑…在这儿记录一次…再遇到直接大逼兜伺候,呸