如何远程访问mongodb数据库
mongodb数据库启动后,默认只能在本地使用,端口为27017,那么如何设置让它可以远程访问呢?
具体方法如下:
(推荐教程:MongoDB数据库)
1、修改配置文件mongodb.conf
命令:
vim /etc/mongodb.conf
把 bind_ip=127.0.0.1 这一行注释掉或者是修改成 bind_ip=0.0.0.0,最好是直接注释掉,因为在centos下,使用bind_ip=0.0.0.0会报错。
注意:设置远程访问以后,密码启动auth授权访问,不然非常不安全,数据库容易被攻击,在配置文件中修改如下:
# Turn on/off security. Off is currently the default #noauth = true auth = true
2、在mongo数据库中新建用户名和密码
在非授权模式下启动数据库,并使用mongo连接上数据库,例如我们要新建meeting数据库的用户和密码,则:
use meeting db.createUser({user:"kimkat",pwd:"123456",roles:[{ role: "readWriteAnyDatabase", db: "meeting" }]})
注意:如果要添加meeting数据库的用户,请先use meeting,不然即使添加成功,也连接不上。
3、启mongodb服务
命令:
/etc/init.d/mongodb restart
4、防火墙开放27017端口
命令:
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
注意:如果是云服务器,一般不用在系统内打开端口,只要在服务器管理界面打开端口就可以了。
5、远程连接
要连接的IP:116.85.12.51
命令:
mongo 116.85.12.51:27017/meeting -u "kimkat" -p "123456"
这样就可以连接到116.85.12.51的mongodb/meeting的数据库了。
建议使用robo3t,mongovue,或者mongo compass等可视化工具来连接,其中官方提供的mongo compass可以直接导出csv文件。
来源:PY学习网:原文地址:https://www.py.cn/article.html