我们前面是将Nacos安装在单独的一台服务器中作为独立的服务对外提供服务的。每次我们重新启动Nacos服务的时候(甚至是关机重启)发现我们以前自己写的配置文件还在,这是因为Nacos本身为我们提供了数据(配置文件)的持久化。
Nacos本身提供了一个内嵌的数据库–derby。我们写入到Nacos的配置文件其实就是被持久化到了这个数据库中,具体的位置在下图所示的位置
但是啊,官网说在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力(但也仅仅只支持mysql,mysql的版本必须是5.6.5+)
Nacos官网为我们提供了将数据持久化到MySQL的具体步骤:
我们上面说了Nacos只支持MySQL,而且是5.6.5+的版本。这里我们采用的数据库版本号是5.7.x,具体的安装教程参考文章
MySQL–03、CentOS7下安装MySQL5.7
启动我们的MySQL5.7虚拟机,使用SQLyog连接我们的MySQL,创建数据库nacos
nacos-mysql.sql
是数据库的初始化文件,他的位置在nacos的conf里面,如下图:
或者直接解压我们前面下载的nacos-server-1.4.2.tar.gz
,在conf目录下面直接找到nacos-mysql.sql
,如下图:
我们在SQLyog中直接将上面的nacos-mysql.sql
导入到我们第一步新建的数据库nacos
中,如下图
我们进入到nacos的conf目录,可以看到application.properties文件。由此也可以看到nacos是一个springboot项目
执行命令vim application.properties
,参照以下内容修改配置文件。修改完毕后esc->:wq!
保存退出
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://数据库ip:3306/数据库名称?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=用户名
db.password=密码
我们重新启动nacos,然后浏览器输入http://192.168.8.120:8848/nacos
发现我们之前的配置文件已经没有了;重新启动config client发现已经无法启动(没有读取到配置文件的原因)
我们之前的配置文件是默认持久化到nacos的内嵌数据库中的,现在我们重新设置了持久化的数据库mysql,但是mysql中尚没有配置文件导致无法读取到。
我们按照文章03.Nacos组件之统一配置中心再次新增配置文件,如下图(新的配置文件会被自动持久化到mysql数据库)
如下图所示,我们首先新增一个STUDY
的命名空间,随后我们的配置文件都放在该命名空间下面
命名空间ID已经发生改变了,需要将02.springcloud_alibaba_config_client
的配置文件bootstrap.properties
中的命名空间换成上图中的新生成的ID
然后我们点击配置列表->STUDY命名空间->新增配置
,进入到新增配置页面
我们重新启动config client,可以发现这次是没有问题的,能够正常启动
然后我们浏览器访问http://localhost:8811/test/hello
,可以正确访问到正式配置文件中配置的属性username的值,如下图
我们打开SQLyog,查看nacos中的config_info
表数据,可以看到我们持久化到数据库中的配置文件信息,如下图
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/bbxylqf126com/article/details/119327206
内容来源于网络,如有侵权,请联系作者删除!