如何将meteor.js db 导入远程mongo
Posted
技术标签:
【中文标题】如何将meteor.js db 导入远程mongo【英文标题】:How-to import meteor.js db to remote mongo 【发布时间】:2015-01-30 06:17:13 【问题描述】:我有一个使用meteor.js 开发的应用程序;因为本地没问题,我现在想把它移到我的专用服务器上; 我已经按照官方文档在服务器上安装了 mongodb 2.6; 我使用以下方法转储了本地应用程序的数据库:
mongodump -h 127.0.0.1 --port 3001 -d meteor
并将转储文件夹上传到我服务器上的 /var/www/mywebsite;
mongodb 配置为使用 auth: true;
尝试
mongorestore -h 127.0.0.1 --port 27017 -d mydbname dump/meteor
没有插入任何东西(使用 mongo shell 作为 root,我能看到的唯一数据库是本地和管理员)
我的根 mongodb 用户是在 admin db 上创建的: (我也试过):
mongorestore -h 127.0.0.1 --port 27017 --username root --password xxxxxx -d mydbname dump/meteor
"_id" : "admin.root",
"user" : "root",
"db" : "admin",
"roles" : [
"role" : "userAdminAnyDatabase",
"db" : "admin"
]
我想为新数据库创建一个 mongo 用户并恢复它; 在尝试了一些不同的事情后,我意识到我不明白该怎么做......有人可以帮忙吗?
【问题讨论】:
【参考方案1】:从this answer到how to mongoimport data to deployed meteor app?:
从现有的 mongodb 转储数据(mongodb url: mongodb://USER:PASSWORD@DBHOST/DBNAME)
mongodump -h DBHOST -d DBNAME -u USER -p PASSWORD
这将创建一个“转储”目录,所有数据都将转到转储/DBNAME。
获取已部署的流星应用程序的 mongodb url(即 www.mymeteorapp.com)
meteor mongo --url METEOR_APP_URL
注意:密码每分钟过期一次。
将数据库转储数据上传到流星应用程序(使用示例流星数据库 url)
mongorestore -u MY_REMOTE_DATABASE_USERNAME -p MY_REMOTE_DATABASE_USER_PASSWORD -h production-db-b2.meteor.io:27017 -db www_mymeteorapp_com dump/DBNAME/
所有数据都应该被传输!
【讨论】:
以上是关于如何将meteor.js db 导入远程mongo的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB / Meteor / 将 MONGO_URL 导出到已部署的应用程序
MongoDB / Meteor / 将 MONGO_URL 导出到已部署的应用程序