標籤:部署 超級 建立 斷行符號 tcp tab 防火 讀寫 技術分享
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遠程伺服器部署串連