Docker容器运行nacos整合mysql持久化报错:No DataSource set

博客详细介绍了在使用Nacos时遇到的数据库连接问题,特别是与MySQL8及以上版本的兼容性问题。作者发现错误并非由Nacos版本引起,而是由于MySQL驱动的时区设置。解决方案是在Nacos的application.properties文件中添加`serverTimezone=UTC`参数,并在容器内部进行修改以确保生效。重启Nacos后,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上答案:这个还是比较抗的,原本以为是没有指定nacos版本问题,后来加上之后还是报这个错误,改了linux上的nacos配置文件application.properties还是不行。后来查了相关资料原来是mysql版本问题,mysql8及8之后的驱动后面需要加上serverTimezone=UTC才能正常连接到数据库。但是这里有个重要的地方要特别的注意,那就是要在容器的内部修改才能生效。

进入容器: sudo docker exec -it 容器id /bin/bash 之后编辑application.properties文件修改 b.url.0=jdbc:mysql://xxx.xxx.xxx.x:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC

之后退出容器重启后查看日志便成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值