调试的时候经常测试服务器正常,而生产环境有bug,有时候不得不本地检查,然后每次更新代码后发布到生产环境,然后就服务经常短时间下线,有没有办法把生产环境的数据克隆到dev环境,这样就不用总是下线了
调试的时候经常测试服务器正常,而生产环境有bug,有时候不得不本地检查,然后每次更新代码后发布到生产环境,然后就服务经常短时间下线,有没有办法把生产环境的数据克隆到dev环境,这样就不用总是下线了
在bin
目录下执行导出和导入
$ ./mongoexport -u <username> -p <password> -h <host> -d <db> -c <collection> -o <output-path-with-name.dat>
$ ./mongoimport -u <username> -p <password> -h <host> -d <db> -c <collection> --file=<output-path-with-name.dat>
取决于你的需求,有不同的做法。举个例子,如果是一次性的工作,可以考虑复制一份线上库的数据文件下来恢复成新的集群:
此时这就是一个全新的库了。如果你想再构建复制集,可以加上replSetName并重启,然后执行复制集初始化的操作。
如果你想从线上持续复制数据到dev,那会更麻烦一些。如果有需要再另行讨论。
5 回答4.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.2k 阅读
mongodb本身就支持备份还原,你可以在nodejs服务中增加备份还原接口,从生产环境的服务上下载备份文件,在dev环境的服务上上传备份文件执行还原操作。