我是一名为小公司工作的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
执行这些操作后,我发现服务器B中数据库“puppy”的记录数与服务器A的数量不匹配。经过多次试用并使用该命令:
use puppy; db.dropDatabase();mongorestore -h 127.0.0.1 -d puppy --directoryperdb /puppy/ --drop
它仍然无效。
之后,我尝试从自己的数据库转储文件中恢复服务器A并发生灾难。服务器A中的记录号与服务器B中的号码相同!因为这是我以前做过的常规动作,从未遇到过这么大的问题,所以这让我和我的主管感到震惊。
我们花了很长时间来解决这个问题。但我的主管让我找到理由,否则我会被解雇!这是我最糟糕的噩梦!谁能给我一个线索?
感谢您的帮助。