修改Nacos持久化配置
Nacos
默认的落盘方式是嵌入式数据库 Derby
,Nacos
的登录信息、服务元数据、配置中心的数据、权限控制的配置信息都会存储在这里。为了方便后期优化和管理,通常会选择一个外部的数据库。
目前 Nacos
官方推荐的外部数据库方案为 MySQL
,其官方支持比较友好,想要替换为 MySQL
数据库,只需要修改几行配置文件。如果想用其他数据库,可能需要自行修改 Nacos
源码,这里就不推荐了。未来 Nacos
可能会支持更多的数据库,请读者耐心等待吧!
打开 conf
目录下的 application.properties
文件,这是 Nacos Server
启动和运行的核心配置文件。图 6-5 显示了 Nacos Server
的部分默认配置项,包括 contextPath
、port
和数据库方案。

在这个文件中可以修改 Nacos
持久化配置,主要有三处内容需要修改。
-
数据库方案:
spring.datasource.platform=mysql
这行配置默认情况下是被注释的,删除这行注释,指定数据库方案为 MySQL。 -
数据库的数量:删除
db.num=1
这行注释。 -
JDBC 连接信息:将
db.url.0、db.user.0
和db.password.0
这三项修改为自己的数据库连接信息即可。
修改完数据库配置项之后,接下来需要到 MySQL 数据库中创建 Nacos
需要的数据库 Schema
和数据库表。
先创建数据库。
启动并登录 MySQL 数据库,创建名称为 newbee_nacos_config
(可以是任意名称,自行定义即可)的数据库,命令如下:
CREATE SCHEMA 'newbee nacos config' DEFAULT CHARACTER SET utf8;
然后导入 nacos-mysql.sql
文件。
该文件在 Nacos
安装包中的 conf
目录下,如图 6-6 所示。

找到 nacos-mysql.sql
文件,直接将其导入刚刚创建的 newbee_nacos_config
数据库。导入成功后就能够看到 Nacos Server
所需的表了,如图 6-7 所示,共 12 张表。

除修改 Nacos
的数据库存储方案外,还可以在 application.properties
文件中修改 Nacos
的启动端口。比如,笔者将 Nacos
的启动端口修改为 17748
,最终的配置文件如下:
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=17748
######################## Network Related Configurations ########################
### If I prefer hostname over ip for Nacos server addresses in cluster.conf:
# nacos.inetutils.prefer-hostname-over-ip=false
### Specify local server's IP:
# nacos.inetutils.ip-address=
######################## Config Module Related Configurations ########################
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://localhost:3006/newbee_nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
...
### 省略部分内容
修改完成后,重启 Nacos Server
,命令如下:
# 先关闭
./shutdown.sh
# 再启动
./startup.sh -m standalone
此时,启动后的日志输出内容如下:

第一次启动 Nacos
时使用的是默认数据库,在启动日志中可以看到 use embedded storage
。修改为 MySQL 后,日志中就已经体现出来了,此时的日志内容为 use external storage
,而且端口号也改为 17748
了。
进入 Nacos
控制台,一切正常,表示修改成功。
戏台已搭好,好戏就要开场了。接下来,笔者将结合实际的编码讲解服务之间是如何通过 Nacos
实现服务注册、服务发现和服务通信的。