在流星生产服务器中恢复mongodb

时间:2013-02-04 13:05:50

标签: mongodb meteor

我正在尝试将我的localhost默认meteor mongo数据库中的所有数据复制到生产服务器,以便在“app.meteor.com”中使用它。

我尝试使用mongorestore使用“meteor mongo --url app.meteor.com”提供的信息,但它不会修改任何文档。 而且,当我连接到服务器的mongo数据库时,我只能读取(查找)文件。当我使用更新或插入函数时,它会显示“not master”

2 个答案:

答案 0 :(得分:6)

运行     〜/ meteor / meteor mongo -U yoapp

你会得到这样的东西

mongodb://client:387shff-fe52-07d4-69a4-ba321f3665fe7@c0.meteor.m0.mongolayer.com:27017/yoapp_meteor_com

获取值并像这样放入mongorestore

mongorestore -u client -p 387shff-fe52-07d4-69a4-ba321f3665fe7 -h c0.meteor.m0.mongolayer.com:27017 -db yoapp_meteor_com /home/user/dump/yoapp

我只是将一个prod应用程序转储到我的本地开发机器上。测试一些新的变化。将代码推送到meteor.com上的登台安装,然后使用mongorestore填充登台数据库。

答案 1 :(得分:0)

  

而且,当我连接到服务器的mongo数据库时,我只能读取(查找)文件。当我使用更新或插入函数时,它会显示“not master”

这可能是因为您连接的服务器不是MASTER,而是副本集中的SLAVE。从站是只读的,所有写入都需要指向主站。您可以通过查询rs.conf()并查看members中的条目来获取主hostname:port。见http://docs.mongodb.org/manual/reference/replica-configuration/

获取主人,然后尝试mongoimport / mongorestore

您还应该在生产服务器上拖尾mongod日志,以查看导入时是否有任何错误(前提是您有权访问)。