我已经转储了一个在默认端口上运行的独立 mongo 数据库(14Gb 大),如下所示:
mongodump --username <username> --password <password> --db <dbname>
我正在尝试使用以下内容将其恢复到副本集:
mongorestore --host myReplSet/127.0.0.1:27020 --drop --username <username> --password <password>
恢复似乎有效(需要一分钟左右,输出看起来不错)创建了数据库并创建了所有集合,但集合中没有数据,它们都是空的。我做错了什么?
就其值(value)而言,本地数据库显示它有 10 Gb 大(我不确定恢复前它有多大)
最佳答案
如果有人面临同样的问题。我使用了一个副本集,并尝试执行 Op 的命令。即
mongorestore --host myReplSet/mongo0.example.com:27020,mongo1.example.com:27012 --db <dbname> <folder_location>
只需转到主服务器并执行此操作即可
mongorestore --port <if running on port other than 27017> --db <dbname> <location of dump>
这对我有用,一个可能的解释是每当我写入主数据库时,它都会自动复制到我的辅助数据库。因此无需提供任何副本集地址。如果你在二级写,这可能会起作用,我不确定,还没有尝试过。也许其他人可以照亮它。
关于mongodb - mongorestore 从独立到复制集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835488/