Nacos文件模式迁移到数据库模式

记录一次将单机文件模式启动的Nacos迁移为MySQL存储数据模式的数据迁移与重启

# 背景

之前的测试环境的Nacos需要迁移服务器。迁移时发现之前的人偷懒,直接使用本地的单机模式启动了。目前需要换一个服务器重启Nacos服务,并且改为MySQL存储的模式。

# 遇到困难

  1. 已离职人员配置的Nacos单机模式,不知道具体数据位置
  2. 需要保留全部配置文件,防止数据丢失

# 解决步骤

# 步骤1 查询Nacos官方文档资料

根据<Nacos官方文档>得知:Nacos单机模式启用 Derby 本地嵌入式数据库,位置保存在nacos文件夹路径/data/Derby-data

# 步骤2 处理Derby数据库

Derby数据库怎么打开?查询<Derby官方文档>得知:

  1. Derby数据库不像mysql数据库,有开放端口,且运行时独占,无法打开
  2. Derby数据库是基于文件的数据库,直接复制文件就等于复制了整个数据库

于是决定直接将整个derby-data文件夹复制到本地读取。本地使用强大的开源数据库工具。使用 derby embedded模式打开该文件夹,就可以打开Derby数据库读取其中所有表文件。

# 步骤3 导入数据到MySQL

  1. 在测试环境MySQL使用Nacos自带sql建表语句重新建立MySQL中的数据存储结构
  2. 利用DBeaver功能,导入导出数据,选择从打开的Derby数据库导入数据到刚才新建的mysql数据库中。因为两个数据库中表的字段名称相同,DBeaver的导入数据功能可以自动映射字段,省去了字段对齐的麻烦
  3. 把所有表都按结构对应导入到MySQL中,确认数据正常

# 步骤4 重启Nacos

  1. 将Nacos服务端程序复制到新服务器上
  2. 重新配置Nacos的application.properties文件,将配置改为使用数据库方式启动
  3. 验证重启的Nacos,一切正常,over

# 总结感想

  1. 网上找不到资料就去翻官方文档
  2. DBeaver真好用
使用 Hugo 构建
主题 StackJimmy 设计