設置遠程連接訪問mongodb數據庫


mongodb數據庫啟動后,默認只能在本地使用,端口為27017,那么如何設置讓它可以遠程訪問呢?

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,不然即使添加成功,也連接不上。

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

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不匹配,所以失敗。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM