安裝MongDB 需要注意的地方

安裝MongDB時需要注意的地方

我安裝的window版本 :MongoDB shell version: 3.2.22

安裝過後,需要在安裝的目錄裏面創建一個配置文件:mongod.cfg

裏面的內容如下:

systemLog:
    destination: file
    path: C:\Program Files\mongdb\data\log\mongod.log
storage:
    dbPath: C:\Program Files\mongdb\data\db
    journal:
        enabled: true
security:
    authorization: enabled
setParameter:
    enableLocalhostAuthBypass: false

注意:下面這行在啓動的時候先不要添加,不然你通過cmd去添加用戶會失敗的,報權限認證,先去掉,等添加玩了用戶及角色在開啓這行代碼啓動mongdb就可以了

security:
    authorization: enabled

mongdb只有admin,local這兩個數據庫,一開始是沒有認證密碼了,需要自己設置密碼,可以設置多個賬戶,設置完就可以添加上面認證代碼啓動權限認證,而且你創建的數據庫都是之前設置的賬戶,意思就是在admin數據庫下創建的數據庫,都是可以用admin創建的賬號登錄的

 db.createUser({user:"admin",pwd:"123456",  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) 

 db.createUser({user:"dsm",pwd:"123456",  roles: [ { role: "userAdminAnyDatabase", db: "dsm" } ] }) 

注意:這兩個賬號都可以登錄,都可以查看dsm數據庫它是掛在當前超級管理員下的,

use dsm 創建數據 是不顯示出來的,必須添加一條數據纔可以顯示出來。

mongdb客戶端數據庫連接工具 :robo3t-1.3.1-windows-x86_64-7419c406 ,可以去官網下載

 

 

https://www.cnblogs.com/huanongying/p/8040753.html

 

 

1.mongodb下載地址https://www.mongodb.com/download-center#community

2.安裝

  

3.在D:\MongoDB目錄下創建db和log兩個文件夾,並創建環境變量,如下圖所

 

4.不用auth的形式安裝MongoDB

MongoDB安裝完成後,默認是不需要輸入用戶名密碼即可登錄的,以管理員的身份打開cmd,執行sc create MongoDB binpath="D:\MongoDB\bin\mongod.exe --dbpath D:\MongoDB\data --logpath D:\MongoDB\log\log.log  --logappend --service",即可安裝MongoDB服務,安裝完成後可以在windows服務中可以看到MongoDB,在屬性中可以設置開機自動啓動,在命令行執行mongo即可進行CRUD操作

 

5.mongodb中的權限

複製代碼

1. 數據庫用戶角色:read、readWrite;  
2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;       
3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級用戶角色:root  
// 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內部角色:__system

複製代碼

複製代碼

read:允許用戶讀取指定數據庫 
readWrite:允許用戶讀寫指定數據庫 
dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile 
userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫裏創建、刪除和管理用戶 
clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和複製集相關函數的管理權限。 
readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限 
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限 
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限 
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。 
root:只在admin數據庫中可用。超級賬號,超級權限

複製代碼

6.MongoDB是沒有默認管理員賬號的,所以要先添加管理員賬號,添加一個 userAdminAnyDatabase 用戶,這是一個能夠管理所有用戶的的用戶

複製代碼

C:\Windows\system32>mongo
MongoDB shell version v3.6.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.0
> use admin
switched to db admin
> db.createUser({user:"admin",pwd:"123",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}
> exit
bye

C:\Windows\system32>

複製代碼

7.用admin用戶登錄mongodb,創建數據庫incentive和它對應的用戶zjl,所有用戶只能在用戶所在的數據庫登錄,管理員可以管理所有的數據庫,但是不能直接管理其它數據庫,要先在admin數據庫中認證纔可以

複製代碼

C:\Windows\system32>mongo -u admin -p 123 localhost:27017/admin
MongoDB shell version v3.6.0
connecting to: mongodb://localhost:27017/admin
MongoDB server version: 3.6.0
> use incentive
switched to db incentive
> db.createUser({user:"zjl",pwd:"123",roles:[{"role":"readWrite","db":"incentive"}]})
Successfully added user: {
        "user" : "zjl",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "incentive"
                }
        ]
}
> exit
bye

複製代碼

8.用zjl登錄incentive庫,插入一條數據並查詢

複製代碼

C:\Windows\system32>mongo -u zjl -p 123 localhost:27017/incentive
MongoDB shell version v3.6.0
connecting to: mongodb://localhost:27017/incentive
MongoDB server version: 3.6.0
> db.myCol.insert({title: 'MongoDB 教程'})
WriteResult({ "nInserted" : 1 })
> db.myCol.find()
{ "_id" : ObjectId("5a32ac7838335872bbc1fd0b"), "title" : "MongoDB 教程" }
>

複製代碼

 

9.以超級管理員的身份打開cmd,(如果已經執行了步驟4,可以先在命令行執行net stop MongoDB停止服務,然後執行sc delete MongoDB刪除服務,進入步驟4所示服務管理窗口,F5刷新確認MongoDB服務已被刪除;如果沒執行步驟4可以不做這一步),以auth的方式註冊服務sc create MongoDB binpath="D:\MongoDB\bin\mongod.exe --dbpath D:\MongoDB\data --logpath D:\MongoDB\log\log.log  --logappend --auth --service"

啓動服務net start MongoDB

                                       

分類: 數據庫

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