bindIp
为127.0.0.1
,只允许本地连接,外部无法连接。设置MongoDB外部连接不上
1、修改MongoDB配置文件
打开MongoDB的配置文件,通常位于/etc/mongod.conf
或/usr/local/etc/mongod.conf
。
在配置文件中找到bindIp
字段,将其设置为只允许本地连接。
```
bindIp: 127.0.0.1
```
保存并关闭配置文件。
2、重启MongoDB服务
使用管理员权限运行以下命令来重启MongoDB服务:
```
sudo service mongod restart
```
或者,如果你使用的是Systemd操作系统(如Ubuntu 16.04+),则可以使用以下命令:
```
sudo systemctl restart mongod
```
3、禁用远程访问
默认情况下,MongoDB允许远程访问,要禁用远程访问,需要执行以下步骤:
连接到MongoDB shell,使用管理员权限运行以下命令:
```
mongo host <hostname> u <username> p <password> authenticationDatabase admin
```
<hostname>
是MongoDB服务器的主机名或IP地址,<username>
和<password>
是你的管理员用户名和密码。
在MongoDB shell中,执行以下命令启用身份验证:
```
db.createUser({user: "<username>", pwd: "<password>", roles: ["root"]})
```
将<username>
和<password>
替换为你的管理员用户名和密码,这将创建一个具有根用户角色的用户。
执行以下命令禁用远程访问:
```
db.shutdownServer()
```
重新启动MongoDB服务以使更改生效。
相关问题与解答:
1、Q: 我按照上述步骤设置了MongoDB外部连接不上,但是仍然能够通过远程访问连接到数据库,为什么?
A: 确保你正确修改了MongoDB的配置文件并重启了服务,检查防火墙设置是否允许MongoDB的端口(默认为27017)通过,如果问题仍然存在,请检查是否有其他配置文件或设置可能覆盖了你所做的更改。
2、Q: 我只是想限制特定IP地址的远程访问,而不是完全禁止外部连接,应该如何设置?
A: 你可以在MongoDB的配置文件中使用bindIp
字段来指定允许连接的IP地址,只允许IP地址为192.168.0.100
的主机进行远程访问,可以这样设置:
```
bindIp: 192.168.0.100
```
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/475633.html