Nacos「持久化」

700 阅读1分钟

Nacos 以standalone(单机模式)启动后,默认使用的内嵌式数据库 Derby 。Derby可能大家用的比较少,但是对于 SQLite 数据库,大家可能并不陌生,在做一些小型工程时,不想安装Mysql的话,可使用这类嵌入内嵌式数据库存储数据。

Nacos 支持 Derby 和 Mysql 做数据持久化。

一、Derby 持久化

默认采用内嵌式数据库 Derby ,数据存放在 /nacos/data/derby-data 目录下:

可以通过DBeaver客户端查看Derby数据库数据

注意:Another instance of Derby may have already booted the database D:\microservices\nacos\data\derby-data. 不能同时多个客户端访问数据,可先关闭Nacos。

二、Mysql持久化

目前Nacos仅支持Mysql数据库,版本要求5.6.5+

1. 初始化数据库

先在mysql数据库创建 nacos (自定义名称)数据库,然后运行sql脚本 nacos-mysql.sql,脚本位置在:

运行脚本后,自动创建表:

2. 修改Nacos数据库连接

Nacos-server是一个Spring Boot工程,需要修改 \nacos\conf[application.properties](application.properties/) 配置中的数据库链接。

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true
db.user=root
db.password=root

3. 重启Nacos

修改完数据源后,以前Nacos-server默认从derby读取数据,现在切换至从mysql数据库读取,所以以前的配置在页面上都消失了。

新建 test 命名空间,验证一下

数据已持久化到切换后的mysql数据库中了。