https://www.mongodb.com/download-center#communityhtml
mongodb中文社區 (基本教程、文檔)mongodb
安裝版 :下載完MongoDB.msi後點擊Next一路安裝下去數據庫
解壓版:下載完成後直接配置(主要解壓版)json
###2、解壓後配置驗證(路徑:E:\MongoDB)windows
(1).新建保存mongodb數據路徑和日誌路徑緩存
分別建立data和log文件夾在解壓路徑(E:\MongoDB)下安全
在E:\MongoDB\bin下運行命令 mongod.exe --dbpath "E:\MongoDB\data" 指定mongodb數據存儲路徑不然會有一個默認路徑服務器
(2).配置環境變量app
path下添加 E:\MongoDB\binide
檢測 cmd--mongod -help 輸出可看有沒問題
在指定目錄下創建E:\MongoDB\mongodb.conf 內容以下:
# 日誌文件位置 logpath=E:\MongoDB\logs\mongodb.log # 以追加方式寫入日誌 logappend=true # 是否以守護進程方式運行 #fork = true # 默認27017 #port = 27017 # 數據庫文件位置 dbpath=E:\MongoDB\data # 啓用按期記錄CPU利用率和 I/O 等待 #cpu = true # 是否以安全認證方式運行,默認是不認證的非安全方式 #noauth = true auth = true # 詳細記錄輸出 #verbose = true # Inspect all client data for validity on receipt (useful for # developing drivers)用於開發驅動程序時驗證客戶端請求 #objcheck = true # Enable db quota management # 啓用數據庫配額管理 #quota = true # 設置oplog記錄等級 # Set oplogging level where n is # 0=off (default) # 1=W # 2=R # 3=both # 7=W+some reads #diaglog=0 # Diagnostic/debugging option 動態調試項 #nocursors = true # Ignore query hints 忽略查詢提示 #nohints = true # 禁用http界面,默認爲localhost:28017 #nohttpinterface = true # 關閉服務器端腳本,這將極大的限制功能 # Turns off server-side scripting. This will result in greatly limited # functionality #noscripting = true # 關閉掃描表,任何查詢將會是掃描失敗 # Turns off table scans. Any query that would do a table scan fails. #notablescan = true # 關閉數據文件預分配 # Disable data file preallocation. #noprealloc = true # 爲新數據庫指定.ns文件的大小,單位:MB # Specify .ns file size for new databases. # nssize = # Replication Options 複製選項 # in replicated mongo databases, specify the replica set name here #replSet=setname # maximum size in megabytes for replication operation log #oplogSize=1024 # path to a key file storing authentication info for connections # between replica set members #指定存儲身份驗證信息的密鑰文件的路徑 #keyFile=/path/to/keyfile
啓動方式 ./bin/mongod -f mongodb.conf
(4)進入客戶端
mongo目錄/bin下 執行 mongo命令
將MongoDB服務器做爲Windows服務運行
請注意,你必須有管理權限才能運行下面的命令。執行如下命令將MongoDB服務器做爲Windows服務運行:
mongod.exe --bind_ip 127.0.0.1 --logpath "E:\MongoDB\log\mongodb.log" --logappend --dbpath "E:\MongoDB\log" --serviceName "mongodb" --serviceDisplayName "mongodb" --auth --install (注:加上--auth 這樣之後就可使用用戶名和密碼後才能進行MongoDB的相關操做)
上述命令運行成功後,開始—>運行—>輸入services.msc 回車後就能夠打開 windows 全部的服務項列表 ;在列表中就能夠查看到mongodb的服務項,點擊啓動。
(2).退出服務方法:在admin 數據庫下
1 use admin 2:db.shutdownServer() 3:exit
1.建立數據庫:use 數據庫名(建立存放在緩存中 只有添加了數據才能顯示,此命令也是切換數據庫的命令。)
2.查看全部數據庫: show dbs 首次鏈接咱們發現其系統中內置了一個數據庫名字爲local(若是你們查詢出
來還有一個admin數據庫,那是由於你使用的是低版本的MongoDB),admin庫是不存在的,須要咱們本身創 建。admin存放的是用戶信息。
3.查詢全部數據文檔(document) show collections 切換到admin庫以後,使用show collections查詢,咱們發現該數據庫下包含了一個system.user和system.version表,咱們主要來看system.user表,這張表是用來存放超級管理員的
4.添加存儲文檔(至關於數據庫表):db.文檔名.insert({name:"cd"}) (注:添加的數據都是類json格式數據成對存儲)
5.查詢全部數據 db.文檔名.find()
(db.system.users.find())首先使用命令查詢system.user表中含有數據否,輸入命令:db.system.users.find(),查詢發現數據庫是空的,這時候咱們給這個表添加一個管理員帳戶
6.查詢collection(表)數據條數:db.文檔名.find().count();
7.刪除collection(文檔)數據:db.文檔名.remove({});
8.db.createUser({ user: "userss",pwd: "pwdss",customData:{name:"sdf"},roles:[{ role: "readWrite",db: "datesd" }]})
###5、設置用戶
啓動完MongoDB後,cmd命令下進入E:\MongoDB\bin(即MongoDB的安裝目錄),執行mongo;
如今增長一個管理員:
db.createUser({ user: "root",pwd: "root",customData:{name:"root"},roles:[{ role: "userAdminAnyDatabase",db: "admin" }]}) 注:建立一個用戶名和密碼爲root的管理員
customData 用戶信息備註
建立通常用戶,也是用createUser
use db01db.createUser({user:"oneUser",pwd:"12345",roles:[{role:"read",db:"db01"},{role:"read",db:"db02"},{role:"read",db:"db03"}]})
建立一個不受訪問限制的超級用戶 use admindb.createUser({user:"superuser",pwd:"pwd",roles:["root"] })
登錄用戶
進入相應數據庫
use admin db.auth("name","pass")
修改用戶密碼
use admin db.changeUserPassword("username", "xxx")
查看用戶信息 db.runCommand({usersInfo:"userName"})
修改密碼和用戶信息 db.runCommand( { updateUser:"username", pwd:"xxx", customData:{title:"xxx"} })
注意:和用戶管理相關的操做基本都要在admin數據庫下運行,要先use admin;
###6、MongoDB開啓用戶權限驗證
一、mongodb.conf配置文件 中auth=true
二、重啓mongodb服務生效 必須受權:db.auth("用戶名",「密碼」)
###7、MongoDB的roles角色簡單介紹
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(管理員組,針對整個系統進行管理):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