[MongoDB]------windos遠程服務器部署連接
1.連接前的準備
這裏就省略了服務器上安裝的操作,跟上一節是一樣的流程。
連接到遠程服務器,首先需要到遠程服務器上在mongoDb安裝根目錄下的bin文件夾(默認安裝目錄是C:\Program Files\MongoDB\Server\4.0\bin)找到mongod.cfg文件,打開如圖
找到並將bindIp的值改成127.0.0.1,0.0.0.0
之後再到控制面板\系統和安全\Windows 防火墻\高級設置\入站規則\新建規則
依次選擇 端口=>TCP=>特定本地端口號,輸入,這裏我是用的默認的既27017=>允許連接
這個時候我們就可以在本地中進行連接遠程服務器了,打開cmd輸入:
mongo host:port 如:
mongo 122.22.22.222:27017
可以看到如下圖,說明已經可以訪問遠程服務器上的mongoDB了。
2.增加登錄權限
要訪問遠程的服務器一定是要登錄的身份驗證不然就能隨隨便便操作了可不行,這時候在遠程服務器中連接進mongoDb(cmd中輸入 mongo 之後再輸入 use admin)
接下來咱創建一個給予了超級管理員權限的賬號
db.createUser({user:”賬號”,pwd:”密碼”,roles:[{“role”:”userAdmin”,”db”:”admin”},{“role”:”root”,”db”:”admin”},{“role”:”userAdminAnyDatabase”,”db”:”admin”}]})
這裏提供一下相應的權限名稱與解釋
Read:允許用戶讀取指定數據庫
readWrite:允許用戶讀寫指定數據庫
dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫裏創建、刪除和管理用戶
clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。
readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
root:只在admin數據庫中可用。超級賬號,超級權限
再給賬號進行授權操作db.auth(“賬號”,”密碼”)
原來的服務是無Auth驗證的,需要刪除 ,(記得退出mongodb連接,輸入Exit回車)在cmd中執行sc delete MongoDB
來刪除win服務,然後再到服務管理中將MongoDb的服務停止,它會自動刷新一下就不在列表中顯示了。
接著安裝帶auth驗證的服務,cmd中輸入mongod.exe --dbpath C:\Program Files\MongoDB\Server\4.0\data --logpath=C:\Program Files\MongoDB\Server\4.0\log\mongodb.log --logappend --auth --install
路徑根據自身情況設置
我們在本地訪問,輸入show dbs就會看到錯誤提示大概意思是沒權限
這個時候我們在本地的cmd中輸入賬號密碼連接
mongo host:port/admin -u 賬號 -p 密碼
如 mongo 122.22.22.222:2701/admin -u root -p ******
登錄成功後輸入show dbs 就可以正常顯示了
溫馨提示,設置錯了密碼 可以執行這條語句來修改 db.changeUserPassword(‘賬號‘,‘密碼‘);
[MongoDB]------windos遠程服務器部署連接