# 背景
之前的测试环境的Nacos需要迁移服务器。迁移时发现之前的人偷懒,直接使用本地的单机模式启动了。目前需要换一个服务器重启Nacos服务,并且改为MySQL存储的模式。
# 遇到困难
- 已离职人员配置的Nacos单机模式,不知道具体数据位置
- 需要保留全部配置文件,防止数据丢失
# 解决步骤
# 步骤1 查询Nacos官方文档资料
根据<Nacos官方文档>得知:Nacos单机模式启用 Derby 本地嵌入式数据库,位置保存在nacos文件夹路径/data/Derby-data
# 步骤2 处理Derby数据库
Derby数据库怎么打开?查询<Derby官方文档>得知:
- Derby数据库不像mysql数据库,有开放端口,且运行时独占,无法打开
- Derby数据库是基于文件的数据库,直接复制文件就等于复制了整个数据库
于是决定直接将整个derby-data文件夹复制到本地读取。本地使用强大的开源数据库工具
# 步骤3 导入数据到MySQL
- 在测试环境MySQL使用Nacos自带sql建表语句重新建立MySQL中的数据存储结构
- 利用DBeaver功能,导入导出数据,选择从打开的Derby数据库导入数据到刚才新建的mysql数据库中。因为两个数据库中表的字段名称相同,DBeaver的导入数据功能可以自动映射字段,省去了字段对齐的麻烦
- 把所有表都按结构对应导入到MySQL中,确认数据正常
# 步骤4 重启Nacos
- 将Nacos服务端程序复制到新服务器上
- 重新配置Nacos的application.properties文件,将配置改为使用数据库方式启动
- 验证重启的Nacos,一切正常,over
# 总结感想
- 网上找不到资料就去翻官方文档
- DBeaver真好用