搜尋

首頁  >  問答  >  主體

資料庫 - 如何為mongodb遠端連線設定使用者名稱和密碼?

請輸入程式碼我按照這篇教學設定:
http://www.111cn.net/database...

其實就是把設定檔中bind_ip = 0.0.0.0給註解掉..
但是蛋痛的來了:
mongo 伺服器的ip:27017

居然就能連結上!!而且不用用戶名和密碼!!!!!!
找了半天都找不到一篇答案是真正有用的!
有知道的高手可以解答嗎?
如何讓我的資料庫遠端存取需要密碼,也就是mongo 伺服器的ip:27017這樣直接存取是存取不了的

補充說明

按照這個教學:
https://docs.mongodb.com/manu...
我加入了管理員帳號以後,
提示是成功建立了~~但是我登入的話發現還是直接登入!!!

這樣太不安全了~知道我的ip位址就可以登入我的資料庫~~

再次補充

經過google一下,發現可能是沒有開啟驗證`` 但是網上看到的基本是不3.0的教程
都說要在mongodb.conf,把auth = true 開啟,但是3.0的mongodb沒有這個選項哪裡修改?

世界只因有你世界只因有你2832 天前743

全部回覆(2)我來回復

  • PHPz

    PHPz2017-05-02 09:24:59

    是3.X以上的嗎,可以看看這篇
    http://blog.csdn.net/jian1jia...
    我在這裡說幾個要點:
    進入設定檔
    vi /etc/mongod.confvi /etc/mongod.conf
    修改 `bindIp : 0.0.0.0 //允许所有IP链接,外链
    然后对你需要远程的数据库添加权限,如:
    use xxxx;
    db.createUser({user:"jimb55",pwd:"123456",roles:[{"role":"readWrite","db":"xxxx"}]})
    然后exit退出客户端
    杀掉相关的进程killall mongod
    然后开启验证模式
    mongod -f /etc/mongod.conf --fork --auth
    你可以用Robomongo.exe远程登录试试
    Robomongo.exe修改`bindIp : 0.0.0.0 //允許所有IP鏈接,外鏈

    然後對你需要遠端的資料庫添加權限,如:🎜use xxxx;🎜db.createUser({user:"jimb55",pwd:"123456",roles:[{"role":"readWrite","db":"xxxx"}] }) 🎜然後exit退出客戶端🎜殺死相關的程序killall mongod🎜然後開啟驗證模式🎜mongod -f /etc/mongod .conf --fork --auth 🎜你可以用Robomongo.exe遠端登入試試🎜Robomongo.exe的使用在給定的連結裡面有說明🎜

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:24:59

    修改mongod.conf

    security:
      authorization: enabled

    mongodb 設計得真是太差了,打算換 RethinkDB

    回覆
    0
  • 取消回覆