Nacos.03.的数据持久化

前言

我们前面是将Nacos安装在单独的一台服务器中作为独立的服务对外提供服务的。每次我们重新启动Nacos服务的时候(甚至是关机重启)发现我们以前自己写的配置文件还在,这是因为Nacos本身为我们提供了数据(配置文件)的持久化。

Nacos本身提供了一个内嵌的数据库–derby。我们写入到Nacos的配置文件其实就是被持久化到了这个数据库中,具体的位置在下图所示的位置
在这里插入图片描述
但是啊,官网说在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力(但也仅仅只支持mysql,mysql的版本必须是5.6.5+)

数据持久化到mysql

Nacos官网为我们提供了将数据持久化到MySQL的具体步骤:
在这里插入图片描述

1.准备工作

我们上面说了Nacos只支持MySQL,而且是5.6.5+的版本。这里我们采用的数据库版本号是5.7.x,具体的安装教程参考文章

MySQL–03、CentOS7下安装MySQL5.7

2.nacos-mysql.sql

2.1 新建数据库

启动我们的MySQL5.7虚拟机,使用SQLyog连接我们的MySQL,创建数据库nacos
在这里插入图片描述

2.2 拷贝nacos-mysql.sql

nacos-mysql.sql是数据库的初始化文件,他的位置在nacos的conf里面,如下图:
在这里插入图片描述
或者直接解压我们前面下载的nacos-server-1.4.2.tar.gz,在conf目录下面直接找到nacos-mysql.sql,如下图:
在这里插入图片描述

2.3 初始化数据库

我们在SQLyog中直接将上面的nacos-mysql.sql导入到我们第一步新建的数据库nacos中,如下图
在这里插入图片描述

3.application.properties

我们进入到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=密码

在这里插入图片描述

4.重启nacos

我们重新启动nacos,然后浏览器输入http://192.168.8.120:8848/nacos发现我们之前的配置文件已经没有了;重新启动config client发现已经无法启动(没有读取到配置文件的原因)
在这里插入图片描述

我们之前的配置文件是默认持久化到nacos的内嵌数据库中的,现在我们重新设置了持久化的数据库mysql,但是mysql中尚没有配置文件导致无法读取到。

5.新增配置文件

我们按照文章03.Nacos组件之统一配置中心再次新增配置文件,如下图(新的配置文件会被自动持久化到mysql数据库)

5.1 新增命名空间

如下图所示,我们首先新增一个STUDY的命名空间,随后我们的配置文件都放在该命名空间下面
在这里插入图片描述

命名空间ID已经发生改变了,需要将02.springcloud_alibaba_config_client的配置文件bootstrap.properties中的命名空间换成上图中的新生成的ID

5.2 新增配置

然后我们点击配置列表->STUDY命名空间->新增配置,进入到新增配置页面
在这里插入图片描述

configclient-dev.properties

在这里插入图片描述

configclient-prod.properties

在这里插入图片描述

6.测试

我们重新启动config client,可以发现这次是没有问题的,能够正常启动
在这里插入图片描述
然后我们浏览器访问http://localhost:8811/test/hello,可以正确访问到正式配置文件中配置的属性username的值,如下图
在这里插入图片描述
我们打开SQLyog,查看nacos中的config_info表数据,可以看到我们持久化到数据库中的配置文件信息,如下图
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潮汐先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值