1. 程式人生 > >MongoDB3.2安裝及建立使用者名稱和密碼

MongoDB3.2安裝及建立使用者名稱和密碼

2.解壓或安裝到自己想要安裝的目錄,比如D:\MongoDB

3.建立資料夾D:\MongoDB\Server\3.2\data、D:\MongoDB\Server\3.2\logs,分別用來安裝db和日誌檔案

4.以管理員的身份命令列進入bin目錄,執行以下命令將MongoDB安裝成服務:

mongod --logpath D:/MongoDB/Server/3.2/logs/mongodb.log --logappend --dbpath D:/MongoDB/Server/3.2/data --directoryperdb --serviceName MongoDB --auth -install

(注:加上 --auth 表示使用使用者名稱和密碼後才能進行MongoDB的相關操作)

安裝成功後,可以在服務裡看到,執行命令net start mongodb或手動啟動服務:



5.MongoDB的bin目錄下,執行:

use admin    (注:MongoDB安裝好以後由預設的admin庫和local庫;其中admin存放的是使用者資訊)

db.createUser({user:"root",pwd:"123456",roles:["root"] })    (注:這裡建立了一個不受訪問限制的超級使用者)

db.dropUser("root")    (注:移除使用者前可能需要認證操作 db.auth("root","123456"))

createUser 建立使用者,如:

db.createUser( {

    user: "accountAdmin01",

    pwd: "changeMe",

    customData: { employeeId: 12345 },

    roles: [

        { role: "clusterAdmin", db: "admin"  }, { role: "readAnyDatabase", db: "admin" },

        "readWrite"

    ]

},

{

    w: "majority",

    wtimeout: 5000

} )

customData 使用者資訊備註

roles

使用者角色:

      1. 資料庫使用者角色:read、readWrite;

      2. 資料庫管理角色:dbAdmin、dbOwner、userAdmin;

      3. 叢集管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

      4. 備份恢復角色:backup、restore;

      5. 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

      6. 超級使用者角色:root

          建立一般使用者,也是用createUser,如:use test db.createUser({user:"test",pwd:"12345",roles:[{role:"read",db:"db01"},{role:"read",db:"db02"},{role:"read",db:"db03"}]})

7.如果遇到服務開啟不了、發生服務特定錯誤: 100或發生服務特定錯誤: 48

解決方案:

      1.刪除D:\MongoDB\Server\3.2\data\mongod.lock檔案

      2.刪除服務

         mongod --logpath "D:/MongoDB/Server/3.2/logs/mongodb.log" --logappend --dbpath "D:/MongoDB/Server/3.2/data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --remove

      3.重新安裝 (注意:去除--directoryperdb 命令)

         mongod --logpath "D:/MongoDB/Server/3.2/logs/mongodb.log" --logappend --dbpath "D:/MongoDB/Server/3.2/data" --serviceName "MongoDB"  --install