記一次被坑的MongoDB安裝服務及用戶權限設置

前言

安裝MongoDB數據庫服務,並且配置驗證登錄,創建用戶信息。這麼簡單的東西,之前都是10分鐘搞定,這次坑了我2個小時。簡單記錄分析一下。

坑s

下載MongoDB安裝包,custom可以選擇安裝路徑。注意這裏迎來

  • 第一個坑不要勾選 什麼 MongoDB Compress 這個東西類似一個管理器,需要下載安裝。國內直接卡死,你懂得。

  • 第二個坑不要在直接開shell 設定用戶角色,需要先重新配置服務,開啓驗證,再設定角色 這個我不是特別確定,記得有次是裝完直接shell建角色,配置完發現重置了,浪費感情。

  • 第三個坑注意角色,userAdminAnyDatabase只能管理所以數據庫中的user,而不是db,也就是不能訪問數據,不是root!不是root!不是root! 我裝完了用admin打不開其他數據庫,以爲自己沒裝上,搞了半天烏龍。

安裝流程簡記

兩個很棒的參考:

  1. 安裝MongoDB

    避免第一個坑就行了

  2. 設置配置文件

    在MongoDB安裝文件架下,創建mongod.cfg,其中可以進行配置,其中的數據庫和log最好和安裝時的位置保持一致

    storage:
    	dbPath: "D:/software/MongoDB/Data/db" 
    	journal:
    		enabled: true
    systemLog:
    	destination: file
    	path: "D:/software/MongoDB/Data/log/MongoDB.log"
    	logAppend: true
    security:
    	authorization: "enabled"
    net:
    	port: 27016
    setParameter:
    	enableLocalhostAuthBypass: false
    
  3. 重裝服務

    這裏cfg文件要寫絕對路徑
    .\mongod.exe -f “F:\MongoDB\mongod.cfg” --reinstall

  4. 創建用戶

    這裏我們需要開啓一個無驗證服務器,先停掉剛剛的服務.
    net stop MongoDB
    然後開啓新的無驗證服務.(要在數據庫安裝目錄bin下), 需要知道數據庫路徑
    .\mongod.exe --dbpath=“F:\MongoDB\Server\4.2\data”
    連接服務
    .\mongo.exe
    創建自己需要的用戶, 設定好用戶名, 密碼, 數據庫權限. 不過創建的時候要注意先 use 需要的數據庫

    use admin
    db.createUser(
      {
    	user: "myadmin",
    	pwd: "xxxxx",
    	roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
    use information
    db.createUser(
    {
    	user: "xx1",
    	pwd: "xxx",
    	roles: [
    		 { role: "readWrite", db: "information" },
    		{ role: "readWrite", db: "information2" },
    	  ]
    	}
    )
    
    use information2
    db.createUser(
    {
    	user: "xx2",
    	pwd: "xxx",
    	roles: [
    		 { role: "readWrite", db: "information2" },
    	  ]
    	}
    )
    

    關掉剛剛的無驗證服務, 開啓windows的MongoDB服務, 搞定
    net start MongoDB

  5. 常用命令

net start MongoDB
net stop MongoDB
mongod --remove
mongod --install

mongodb:
use admin
show users
db.dropAllUsers()
db.changeUserPassword()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章