一、问题分析
会出现这种情况,关键是Apollo的数据库问题,我是因为下载最新版本的Apollo,而两个数据库却是老版,导致表结构对不上就报了这个问题,所以建议到GitHub中下载最新的Apollo数据库脚本重新创建数据库。
二、解决步骤
1,下载最新的数据库脚本,创建新的两个数据库
2,运行方式也要改变一下,最好是在cmd里运行,不使用startup.sh运行,是因为它有些问题,比如日志的路径就不对,要在路径前面加个.才能创建日志,所以尽量用cmd直接执行jar包来运行Apollo的三个jar包比较好。具体命令如下:
1,apollo-configservice
java -Xms256m -Xmx256m -Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 -Dspring.datasource.username=你的 -Dspring.datasource.password=你的 -jar apollo-configservice-2.0.1.jar(你的)
2,apollo-adminservice
java -Xms256m -Xmx256m -Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 -Dspring.datasource.username=你的 -Dspring.datasource.password=你的 -jar apollo-adminservice-2.0.1.jar(你的)
3,apollo-portal
java -Xms256m -Xmx256m -Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 -Dspring.datasource.username=你的 -Dspring.datasource.password=你的 -jar apollo-portal-2.0.1.jar(你的)
3,要是不想这些,还有一种方法就是直接在对应的jar包里改写数据库配置,这样就不用执行这么长的命令了,具体做法如下:
以解压包的形式打开对应的jar包
进入这些文件夹
打开这个配置文件
将它的这部分内容改成如下:
保存更新后就可以在cmd中使用命令java -jar 你的jar包 来执行了。
这样相对之前的方法要方便,其他的jar包也是这样操作,尽管这样把jar包的配置写死了,但仍然可以使用外部的配置文件,只要通过 startup.sh,当然上面长长的命令也可以,到这里问题应该都解决了。