mongoDB整个文件夹拷贝备份还原的坑

现网有一个mongoDB数据库需要搬迁到新服务器,开发那边的要求是先搬迁现在的数据库过去,然后剩下的以后他们用程序同步。

数据库大楷20G左右,现网是主备仲裁的,停掉备点,拷贝了全部文件。

新服务器也是主备仲裁模式,数据还原后,显示OTHER,查看不了数据库,用rc.conf()查看,是以前的节点配置。也改不了,提示不是主。

接着将本地配置文件中的副本集取消,单点启动,用三方工具删除local数据库(副本集的信息全在里面),然后修改配置文件为副本集,重新启动,初始化副本集,完成。#每次我们都是用的use admin  其实配置信息是在local

后来还是有问题,发现数据库不能写入,怀疑是lock文件的问题,然后有把local文件删除了。基本能用了,但是折腾了这么久还是不敢保证数据没有问题,我们还用count统计了条数,后来备点又发现数据不一致,后来还是放弃了。

总结了一下,如果要整个文件拷贝的话,其实顺序应该是这样:

1、老数据库将副本集踢出去,然后再停服务,拷贝。

2、新服务器不要着急用初始化副本集,数据拷贝完成后在启动,初始化副本集。

最好还是用mongodb自带的备份还原最好了,我们最后也选择的这个,其实速度还可以。很快就备份还原了,注意一点就是不要等个数据库系统备份,最好每个数据库单独备份,成功率高些。不用的库也可以不用了。

posted on 2018-01-12 14:39  徐应钟  阅读(799)  评论(0编辑  收藏  举报

导航