为流星的 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 数据库设置密码的主要内容,如果未能解决你的问题,请参考以下文章

给mongo设置密码

mongodb数据库安装 & 设置管理员密码(单独mongo,无副本集)

2 mongodb设置密码登录和创建库

2 mongodb设置密码登录和创建库

Mongodb密码安全设置

流星蝴蝶剑有没有密码让敌人的血变成1?