环境 Vm Os debian11 虚拟机中容器,创建一个共享网络common-network bridge模式,mysql、nacos共享这个网络。mysq与nacos是用名字查找。
默认情况nacos启动成功。 nacos 2.0.3 mysql 8.0.26(比较新)
出错现象 当docker全部重启后,nacos无法连接mysql。
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memoryMonitor' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-2.0.3.jar!/com/alibaba/nacos/config/server/monitor/MemoryMonitor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService': Unsatisfied dependency expressed through field 'dumpService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failur
java.lang.IllegalStateException: No DataSource set
在nacos容器中始终可以ping mysql ping通的。
问题在于有时时候重新启动nacos容器居然连接成功了?大多数时候都失败。
问题复现 只要mysql容器重新启动,就出现这个现象
目前解决 Mysql容器重启后,在宿主机mysql工具navicat连接一次nacos_config(navicat目录打开一次),nacos容器就能正常启动了。
原提问者GitHub用户piaohailin
我这个问题解决了,db为:mysql8.0.26,驱动我替换成8.0.26了(应该不用替换,可以试试),然后在jdbc url 后面添加了allowPublicKeyRetrieval=true和serverTimezone=GMT%2B8,如下:
db.url.0=jdbc:mysql://192.168.5.91:3306/dbxxxx?rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
原回答者GitHub用户itwoods
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。