首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud Alibaba 系列之 Nacos 持久化

Spring Cloud Alibaba 系列之 Nacos 持久化

作者头像
Demo_Null
发布2020-11-24 14:56:13
1.7K0
发布2020-11-24 14:56:13
举报
文章被收录于专栏:Java 学习Java 学习

1.1 简介

1.1.1 概述

  我们在用 Nacos 做配置中心时配置文件是需要持久化保存的,否则重启之后配置文件不久丢失了吗。我们发现就算没有配置持久化,我们添加的配置文件重启之后依然存在,那么这些文件是存在那里的呢?翻阅文档发现 Nacos 使用嵌入式数据库实现数据的存储,翻阅源码在 pom 中发现其使用的是 derby 嵌入式的数据库,所以当我们在 Nacos 进行相关配置之后,其数据会保存在该数据库中,我们在 Nacos 安装目录中发现有一个 derby-data 的文件夹,这里存放的就是 derby 中的数据。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1.2 弊端

  既然 Nacos 内置了 derby 嵌入式数据库那么我们是不是就不需要管了,并不是,derby 是嵌入式数据库,每启动一个 Nacos 就会有一个数据库,而我们在使用 Nacos 时往往都是集群,使用 derby 数据不能互通会很麻烦。所以我们需要一个外部的统一的数据库,Nacos 在 0.7 版本增加了支持 mysql 数据源的能力。

在这里插入图片描述
在这里插入图片描述

1.2 配置 MySQL 持久化

  Windows 与 Linux 配置方式一样,首先修改 conf/application.properties 文件,增加支持 mysql 数据源配置(目前只支持 mysql 5.6.5+),添加 mysql 数据源的 url、用户名和密码。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  然后根据 /conf/nacos-mysql.sql 初始化 mysql 数据库,数据库名为 nacos。我们可以发现 nacos-mysql.sql 中说数据库全名为 nacos_config,但是我们将数据库命名为为 nacos_config 时,启动报找不到名为 nacos 的数据库,改为 nacos 启动成功,这是因为他在 application.properties 配置数据库时默认写的是 jdbc:mysql://127.0.0.1:3306/nacos,这里可以自行修改。

在这里插入图片描述
在这里插入图片描述

  我们运行 /bin/startup.cmd 即可启动 Nacos,注意默认是集群启动,官方文档指明单机版需要执行startup.cmd -m standalone

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  启动成功后我们访问 http://127.0.0.1:8848/nacos 即可进入 UI 界面,输入账户:nacos,密码:nacos 即可登录成功。我们随意新增一个配置文件,我们可以在数据库中找到一个 data_id 为文件名的数据。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 简介
    • 1.1.1 概述
      • 1.1.2 弊端
      • 1.2 配置 MySQL 持久化
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档