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不匹配,因此失敗。