mongodb数据库启动后,默认只能在本地使用,端口为27017,那么如何设置让它能够远程访问呢?html
1.修改配置文件mongod.conf 不一样版本可能为 mongodb.confvue
命令:vim /etc/mongod.confmongodb
把 bindIp=127.0.0.1 这一行修改为 bindIp=0.0.0.0 不一样版本多是bind_ipshell
注意:设置远程访问之后,密码启动auth受权访问,否则很是不安全,数据库容易被攻击,数据库
具体修改请自行搜索,已下配置可能和你的版本不一致vim
在配置文件中修改以下:windows
# Turn on/off security. Off is currently the default
#noauth = true
auth = true安全
-----------------------------------------------------------------------------------------------------------------------------------------服务器
2.在mongo数据库中新建用户名和密码:tcp
在非受权模式下启动数据库,并使用mongo链接上数据库,例如咱们要新建meeting数据库的用户和密码,则:
use meeting
db.createUser({user:"kimkat",pwd:"123456",roles:[{ role: "readWriteAnyDatabase", db: "meeting" }]})
注意:若是要添加meeting数据库的用户,请先use meeting,否则即便添加成功,也链接不上。
mongodb添加用户的方法:https://docs.mongodb.com/manual/reference/method/db.createUser/index.html
mongodb内置的用户角色:https://docs.mongodb.com/manual/core/security-built-in-roles/index.html
-----------------------------------------------------------------------------------------------------------------------------------------------
3.重启mongodb服务
命令:/etc/init.d/mongodb restart 或 service mongod restart
2.1防火墙开放27017端口
命令:iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
注意:若是是云服务器,通常不用在系统内打开端口,只要在服务器管理界面打开端口就能够了。
----------------------------------------------------------------------------------------------------------------------------------------------------
4.远程链接
要链接的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文件。
笔者尝试了使用windows下的mongo.exe链接云服务器上的数据库,结果由于shell和server不匹配,因此失败。