【发布时间】:2013-01-19 04:36:08
【问题描述】:
我正在尝试将所有数据从我的 localhost 默认流星 mongo 数据库复制到生产服务器,以便在“app.meteor.com”中使用它。
我尝试使用“meteor mongo --url app.meteor.com”提供的信息使用mongorestore,但它没有修改任何文件。 此外,当我连接到服务器的 mongo 数据库时,我只能读取(查找)文档。当我使用更新或插入功能时,它说“不是主人”
【问题讨论】:
我正在尝试将所有数据从我的 localhost 默认流星 mongo 数据库复制到生产服务器,以便在“app.meteor.com”中使用它。
我尝试使用“meteor mongo --url app.meteor.com”提供的信息使用mongorestore,但它没有修改任何文件。 此外,当我连接到服务器的 mongo 数据库时,我只能读取(查找)文档。当我使用更新或插入功能时,它说“不是主人”
【问题讨论】:
此外,当我连接到服务器的 mongo 数据库时,我只能读取(查找)文档。当我使用更新或插入功能时,它说“不是主人”
这可能是因为您要连接的服务器不是 MASTER,而是副本集中的 SLAVE。从站是只读的,所有写入都需要定向到主站。您可以通过查询rs.conf() 并查看members 中的条目来获取主主机名:端口。见http://docs.mongodb.org/manual/reference/replica-configuration/
获取master,然后尝试mongoimport/mongorestore就可以了。
您还应该跟踪生产服务器上的 mongod 日志,以查看导入时是否有任何错误(前提是您有权访问)。
【讨论】:
运行 ~/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 填充临时数据库。
【讨论】: