簡介
MongoDB(來自“humongous”)是一個跨平台的面向文檔的資料庫。作為一個NoSQL資料庫,MongoDB避開了傳統的基於表格的關聯式資料庫結構,而採用動態模式的類似JSON的文檔(MongoDB稱為BSON格式),使得某些類型的應用程式中的Data Integration更加方便快捷。MongoDB是GNU Affero通用公用許可證和Apache許可證的組合,是免費的開源軟體。使用Docker安裝單機版是比較快捷的辦法。 安裝方法
安裝辦法如下: 首先,可以開啟docker hub 檢索mongoDB,搜尋你喜歡的MongoDB條目。像我就傾向選擇 official 版本,便於拓展或後續操作。
使用 docker pull mongo 來拉取一個docker鏡像 使用密碼啟動服務
docker run --name mongo -p 27017:27017 -v /home/data/mongodb/data(映射為自己的DB資料檔案儲存位置):/data/db -d mongo --auth
啟動之後 docker exec -it some-mongo mongo admin 串連至admin 來添加初始管理使用者,建立資料庫,已經賦予許可權。
> db.createUser({ user: 'jsmith', pwd: 'some-initial-password', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });(建立 admin使用者) > db.createUser({user:'',pwd:'root',roles:[{ role:'root',db: 'admin'}]}) 建立root使用者> db.auth(“使用者名稱”,”密碼”)給admin賬戶授權> use octblog 資料庫> db.createUser({user: "gevin",pwd: "gevin", roles: [ { role: "readWrite", db: "octblog"},{ role: "readWrite", db: "octblog-log" } ] })建立普通讀寫使用者
這樣就可以通過外部存取資料庫了
附錄
MongoDB 許可權說明
a MongoDB內建角色官網文檔介紹:http://docs.mongoing.com/manual-zh/reference/built-in-roles.html
b 關於MongoDB的內建角色,我們大概可以分為以下幾種來簡單說一下
b.1 Database User Roles(資料庫使用者角色):read、readWrite
b.2 Database Administration Roles(資料庫管理角色):dbAdmin、dbOwner、userAdmin
b.3 Culster Administration Roles(Administrator 群組,針對整個系統進行管理):clusterAdmin、clusterManager、clusterMonitor、hostManager
b.4 Backup and Restoration Roles(備份還原角色群組):backup、restore
b.5 All-Database Roles(所有資料庫角色):readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
b.6 Superuser Roles(超級管理員):root、(dbOwner、userAdmin、userAdminAnyDatabase這幾個角色角色提供了任何資料任何使用者的任何許可權的能力,擁有這個角色的使用者可以在任何資料庫上定義它們自己的許可權)
b.7 Internal Role(內部角色,一般情況下不建議設定):__system
c 關於上面每一個角色的意義是什麼,請自行去官網或者這篇文章去查看,地址是:http://www.cnblogs.com/SamOk/p/5162767.html