我想将一个mongodb实例的数据文件(而不是mongodump)复制到另一个mongodb实例,这就是这个场景:
现在,当我执行show dbs
时,它不会列出之前存在的任何dbs,当然也没有列出已复制的数据库。
既然我知道这不起作用,我想回滚在机器2上完成的更改。所以我关闭了实例,删除了复制的文件并重新启动但我仍然没有看到任何以前在那里的dbs。试图到处搜索如何修复这个无济于事。如何解决这个问题?
注意:我在mongod上尝试了--repair参数,但它在TokuMX v1.4.1-mongodb-2.4.9上进行了描述
答案 0 :(得分:0)
无法将一个服务器的子集复制到另一个服务器,所有内容都必须复制到新服务器。
如果要移动特定数据库中的单个集合或所有集合,则需要使用mongodump / mongorestore。
答案 1 :(得分:0)
我设法使用mongodump
和--dbpath
来恢复数据,这允许我直接从数据库文件而不是mongod服务器创建dbs的备份(服务器必须离线才能这个工作)。然后我就可以使用mongorestore
将数据加载到新实例。
我不得不使用mongodb-org而不是tokumx来实现这一点(使用tokumx,转储空出来了)。