为流星的 mongo 数据库设置密码
Posted
技术标签:
【中文标题】为流星的 mongo 数据库设置密码【英文标题】:Set password to meteor's mongo database 【发布时间】:2017-01-04 17:33:32 【问题描述】:我在舞台服务器上部署了一个流星项目,两天前我发现 mongodb 没有密码。只需提供 IP(无用户名,无密码),我就可以使用 robomongo 连接到 mongodb。
我想设置一个密码来保护它。我一直在关注这个documentation,但是在应用程序的根目录中或在“meteor mongo”命令之后编写这些命令时,我得到“mongo/mongod not a command”。
我在这里缺少什么,如何使用密码保护 mongodb?
谢谢
【问题讨论】:
【参考方案1】:当你运行 Meteors 内置的 MongoDB 服务器时,我认为你不能。
这样做的原因是,如果您在该数据库上输入密码,Meteor 将无法连接到它。
要在 MongoDB 连接中指定密码,您需要设置 MONGO_URL 环境变量。
当你这样做时,Meteor 会认为你正在运行外部 MongoDB 安装,它甚至不会启动内置的 MongoDB 服务器。
所以它有点像 catch-22。
要设置密码,您需要在服务器上安装一个单独的 MongoDB,在该服务器上设置密码,然后使用 MONGO_URL 环境变量告诉 Meteor 使用它,格式如下:
mongodb://username:password@127.0.0.1:27017/meteor
见https://docs.meteor.com/api/collections.html#mongo_url
【讨论】:
感谢您的回答,这很有帮助。我会看看你的建议:) 不好意思再次打扰JesperWe,我没有用mongodb out of meteor。单独安装 mongoDB 并为其提供密码的最简单方法是什么。我熟悉 MONGO_URL 但不熟悉 mongo 安装。我看到安装过程中有很多命令docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon。有没有更简单的方法?【参考方案2】:将其写为答案,因为无法在评论中格式化文本,因此很难阅读。
那么我假设您在 Amazon linux 服务器上运行。
如果你真的阅读了你链接的安装说明,你会发现它根本不是很多命令。
安装 1:使用给定的内容创建 /etc/yum.repos.d/mongodb-org-3.2.repo
文件。
安装2:sudo yum install -y mongodb-org
运行:sudo service mongod start
完成! MongoDB 现在正在运行并侦听端口 27017。
您现在可以添加密码,并如上所述设置 MONGO_URL。
【讨论】:
以上是关于为流星的 mongo 数据库设置密码的主要内容,如果未能解决你的问题,请参考以下文章