mongo -u 用户名 -p 密码 IP:端口/数据库名

mongo -u 用户名 -p 密码 IP:端口/数据库名

我有一台安装了 Ubuntu 的 EC2 机器。在这台机器上,我安装了 Node.js、MongoDB 和 Github 版本的 Parse Server。

我创建了一个名为 euro 的数据库。在这个数据库中,我使用以下代码创建了一个用户:

> use euro
switched to db euro
> db.createUser(
... {
... user: 'username',
... pwd: 'password',
... roles: [ { role: 'readWrite', db:'euro' } ]
... }
... )

在迁移应用程序之前,我注意到在 AWS EC2 实例管理页面中,您可以看到 2 个 IP 地址:公共 IP 和私有 IP,因此我使用了公共 IP。

在 Parse.com 设置中,我单击了“迁移”按钮,并输入了以下地址:

mongodb://username:password@<ipaddress>:27017/euro

在地址栏下方写着No reachable servers

我该怎么做才能解决这个问题并将应用程序迁移到我的 EC2 实例?

编辑#1:
我已重启 AWS 服务器,因此我的公共 IP 地址已更改。我尝试使用此地址将连接字符串更改为新 IP:

mongodb://username:password@<ipaddress>:27017/euro

但突然就出现了No reachable servers
我应该怎么做才能解决这个问题?我想尽快迁移它。

答案1

在您的 EC2 安全组中打开端口 27017。

迁移完成后,您应该从 EC2 安全组中删除此端口,以防止外部人员读取或更改您的文档。

答案2

检查您是否已在 mongod.conf 中将 bindIp 设置为 0.0.0.0。MongoDB 将使用本地 IP,该 IP 是私有 IP,无法通过外部访问。您还可以检查是否可以使用公共 IP 访问数据库。

尝试使用命令连接到 mongo db。

mongo -u 用户名 -p 密码 IP:端口/数据库名

这应该可以解决你的问题。

相关内容