2

我是为一家小公司工作的 DBA。我们的第一个商业项目是电子书。我的主管要求我研究和部署 MongoDB 作为整个项目的主数据库。我们的项目仍处于开发阶段。

昨晚,我们遇到了一个严重的问题。我的主管要求我从服务器 A 的数据库中转储数据,然后恢复到服务器 B。

这是我的命令:

Server A
mongodump -h 127.0.0.1 -d puppy -o /
tar -cpf /puppy.tar /puppy/

Server B
scp root@hostname:/puppy.tar /
cd /
tar -xf puppy.tar
mongorestore -h 127.0.0.1 -d puppy --directoryperdb /puppy/ --drop

经过这些操作,我发现Server B中数据库“puppy”的记录数与Server A的记录数不匹配。经过多次尝试和使用命令:

use puppy; db.dropDatabase();mongorestore -h 127.0.0.1 -d puppy --directoryperdb /puppy/ --drop

它仍然没有工作。

在那之后,我试图从它自己的数据库转储文件中恢复服务器 A,结果发生了一场灾难。服务器 A 中的记录编号与服务器 B 中的编号相同!因为这是我以前做过的常规动作,从来没有遇到过这么大的问题,这让我和我的主管都感到震惊。

我们花了很长时间来解决这个问题。但是我的上司让我找理由,否则我会被解雇!这是我最糟糕的噩梦!谁能给我一个线索?

感谢您的帮助。

4

0 回答 0