Nacos源码启动报错: java.lang.IllegalArgumentException: db.num is null
解决步骤:
1、mysql新建库:nacos,字符集:utf8 ,排序规则:utf8_general_ci;
2、找到distribution项目目录下nacos-mysql.sql,将sql脚本执行到数据库的nacos库中 如果你用的是mysql5.7的版本,你可能会遇到一些执行sql的问题:
老版本datetime类型设置默认值CURRENT_TIMESTAMP会报错,例如:
所以可以将datetime换成timestamp类型,就可以设置默认值了
(第一次尝试的时候是先去掉了默认值创了datetime类型,然后再改类型为timesatmp,设置默认值)
注意: 如果你不设置默认值,nacos在发布配置的时候会报错,哪怕你yaml文件格式都正确:
最后检查一下所有的表是否都创建完毕,内置数据是否插入完毕
3、在console项目目录下找到application.properties,修改数据库配置:
修改点:
1)放开 spring.datasource.platform = mysql # 使用mysql数据库
2)放开 db.num = 1
3)修改 数据库连接用户名&密码(数据库nacos创建好)
4.修改启动脚本startup.cmd,单机启动模式(默认集群模式)
5.添加环境配置:
-Xmn1g -Dnacos.standalone=true -Dnacos.preferHostnameOverIp=true -Xloggc:D:\nacos
6.console项目下找到启动类Nacos,启动项目,在nacos控制台上添加配置,修改配置,观察数据库
配置信息,配置历史信息都会存在了