相关教程:https://www.jianshu.com/p/6d296e527153
yapi的数据库是MongoDB,所以yapi的数据备份和恢复实际上就是MongoDB的数据备份与恢复,使用复制数据库文件夹,然后进行覆盖,是不可以将数据成功迁移的!
大佬的看法:
MongoDB的数据恢复一般是覆盖原有数据,如果想保留原有的数据,可以写脚本,以插入的形式添加。但若新数据与原有数据有重复,会添加错误,只能编写脚本判断
以下文段转载于其他博客,已实验成功
作者:苏米西
链接:https://www.jianshu.com/p/6d296e527153
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
方法一:在yapi页面进行数据导出及导入
方法二:数据库数据迁移
这里主要使用两个命令:mongodump、mongorestore
数据导出
# mongo
# show dbs
local 0.000GB
yapi 0.010GB
# exit
导出:
# mongodump -h dbhost -d dbname -o dbdirectory 用法
# mongodump -d yapi -o /home/apps/
# 如果yapi搭建在容器内,希望在宿主机上执行该命令,则可以调整成:
# docker exec $容器名 mongodump -d yapi -o /my-yapi/
- -h:
MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017 - -d:
需要备份的数据库实例,例如:yapi - -o:
备份的数据存放位置,例如:/home/apps,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个yapi目录,这个目录里面存放该数据库实例的备份数据。
数据导入
如果在其他主机部署了一个新的yapi,那么最好先把现有的记录删除。
# mongorestore -h dbhost -d dbname --dir backupdirectory
# mongorestore -d yapi --drop --dir /home/apps/yapi
--h:
MongoDB所在服务器地址,默认为: localhost:27017-d :
需要恢复的数据库实例,例如:yapi,当然这个名称也可以和备份时候的不一样,比如test--drop:
恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!backupdirectory:
mongorestore 最后的一个参数,设置备份数据所在位置,例如:/home/apps/yapi。--dir:
指定备份的目录
温馨提示:最好备份恢复时让mongodb以及yapi版本保持一致,不然容易出错。同时最好加上--drop选项,保证恢复的完整性。