若依springCloud 启动报错:dynamic-datasource initial loaded [0] datasource,Please add your primary datasource or check your configuration

 

报错如下:

 

解决办法: 

  nacos/conf/application.properties 配置文件中  .0   去掉就OK啦!!!  

   

或者如下也行:

1 #配置nacos持久化
2 spring.datasource.platform=mysql
3 db.num=1
4 db.url.0=jdbc:mysql://localhost:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
5 db.user.0=root
6 db.password.0=root

 

原因:

  文件 application.properties

    官方文档原话:“在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力”  ,nacos 0.7版本 开始,支持嵌         入式数据库和mysql数据库,供选择。


  关于mysql数据源的配置,两个版本的nacos示例配置不同

  V.0.8.0  如下配置,可以成功启动,成功读取mysql数据源。

    spring.datasource.platform=mysql
    db.num=1
    db.url.0=   ......
    db.user=   ......
    db.password=  ......

  V.1.1.3  如下配置,可以成功启动,但是读取数据源失败,去使用默认的嵌入式数据库,也就是将数据存储在磁盘目录的 nacos/data目录

    spring.datasource.platform=mysql
    db.num=1
    db.url.0= ......
    db.user= ......
    db.password= ......

   查看V.1.1.3关于mysql数据源的配置:

 

 
    db.user后面要加序号,db.password同理,否则扫描数据源就中止了,并抛异常,数据源读取失败。

      正确的写法是

    spring.datasource.platform=mysql
    db.num=1
    db.url.0=......
    db.user.0=......
    db.password.0=......


  

 

posted @ 2022-07-15 15:44  闲有余日~~正可学问  阅读(8988)  评论(0)    收藏  举报