在springcloud集成alibaba的Nacos的时候,启动报错
nacos版本2.0.1
这个版本的nacos在下载好,启动之前需要做一些配置修改
1:报错db.num is null
java.lang.IllegalArgumentException: db.num is null
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:142)
at com.alibaba.nacos.config.server.service.datasource.ExternalDataSourceProperties.build(ExternalDataSourceProperties.java:75)
at com.alibaba.nacos.config.server.service.datasource.ExternalDataSourceServiceImpl.reload(ExternalDataSourceServiceImpl.java:123)
at com.alibaba.nacos.config.server.service.datasource.ExternalDataSourceServiceImpl.init(ExternalDataSourceServiceImpl.java:106)
at com.alibaba.nacos.config.server.service.datasource.DynamicDataSource.getDataSource(DynamicDataSource.java:55)
修改application.properties配置文件
修改内容(依据自己的实际情况进行修改,看仔细):
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://数据库的ip地址,本地就是localhost:3306/nacos?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=账号
db.password.0=密码
建议将数据库超时时间增加,免得报连接超时
2:报错master db access error
2021-08-15 22:08:55,408 WARN [master-db] master db access error
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [DELETE FROM config_info WHERE data_id='com.alibaba.nacos.testMasterDB']; nested exception is java.sql.SQLSyntaxErrorException: Table 'mysql.config_info' doesn't exist
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1443)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:388)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:523)
解决办法,需要建立nacos数据库
如下图所示,有三个sql文件,先创建数据库nacos,然后在执行nacos-mysqlsql文件
创建好表
至于schema.sql,与nacos-mysqlsql执行内容差不多,所欲执行报错,没有管,应该是不需要执行,
只执行nacos-mysqlsql就可以了
然后再执行1.4.0-ipv6_support-update.sql,这个应该是一些更新的修复内容
3:修改bin目录中的startup.cmd(单机启动)
将这个set MODE配置修改为:set MODE=“standalone”,就是单机版模式
set MODE="cluster"为集群模式,根据自己需要修改
不修改的话,startup.cmd启动默认的是集群模式
也可以使用startup.cmd -m standalone,单机模式启动
然后双击启动startup.cmd文件,或者使用命令启动nacos
启动成功以后,访问连接http://localhost:8848/nacos/index.html#/login
大功告成!!祝你少走弯路,整理不易,点赞收藏鼓励一下!!