Mongodb的安裝仍是比較容易的,從MongoDB下載MongoDB,Windows下基本上按照提示一步一步的執行就能夠了,Linux下只需解壓就能夠了。安裝完畢後爲了不每一次都加上絕對路徑,配置一下環境變量,把mongodb的bin目錄加入到path中。mongodb
接下來啓動mongodb服務,若是配置了環境變量最簡單的啓動mongodb服務就是:shell
mongod --dbpath e:\data\db
注意:dbpath表示就是數據存放的目錄,只有是存在的目錄就能夠了。若是是Windows32位系統MongoDB是沒有默認的存儲引擎的,必需要經過啓動參數指定存儲引擎如:數據庫
mongod --storageEngine=mmavp1 –dbpath e:\data\db
只須要在第一次指定dbpath的時候加上存儲引擎參數就能夠了,只要不改變dbpath的目錄,之後就不用加存儲引擎參數了。segmentfault
圖1:啓動mongodb服務服務器
啓動mongodb服務除了指定dbpath參數以外還有幾個比較經常使用的就是—auth,表示使用數據庫須要驗證,--logpath表示日誌文件的位置。--logappend表示添加日誌的方式。例如:app
mongod --auth --logpath "e:\logs\log.log" --logappend --dbpath "e:\data\ \db"
若是絕對每一次啓動mongodb輸入這麼多參數麻煩,Windows下能夠經過下面的命令安裝mongodb服務。工具
mongod --auth --logpath "e:\logs\log.log" --logappend --dbpath "e:\data\ \db" –install
由於默認的服務名就是mongodb,因此安裝完成以後就能夠經過spa
net start mongodb 來啓動服務 net stop mongodb 來關閉服務
注意指定的日誌文件目錄和數據文件目錄必定要存在,不然會出錯。若是要修改能夠把install選項換成reinstall,如:命令行
mongod --auth --logpath "e:\logs\log.log" --logappend --dbpath "e:\data\ \db" –reinstall
若是你安裝服務以後發現你每一次啓動都想指定不一樣的啓動參數,那麼可使用rest
sc delete mongodb 來刪除服務。
若是隻是本機使用,建議啓動參數不用鍵- -auth選項,特別是不熟悉mongodb的狀況下,由於mongodb的權限管理相關的知識仍是比較多的。
啓動好了mongodb服務,就能夠經過mongodb提供的客戶端鏈接到mongodb數據庫了,啓動一個命令窗口,輸入mongo命令:鏈接到mongodb數據服務器默認使用的是test數據庫
圖2:鏈接mongodb服務
查看全部的數據庫 show dbs 查看當前使用的數據庫 db 切換數據庫和MySQL同樣使用關鍵字use,下面命令是切換到test數據庫 use test 建立數據庫也是使用use 只有在數據庫中建立了集合,纔會查看到服務器中有對應的數據庫 建立集合 db.createCollection(「collection_name」) 刪除集合 db.collection_name.drop() db.dropDatabase() mongodb中沒有表的慨念,與之相對應的是集合collection,查看全部的集合 show collections 查看有那些用戶:(admin數據庫才能夠) db.system.users.find().pretty() 這條語句就是查詢admin數據庫下的system.users集合中的數據,pretty方法表示格式化輸出的數據。
默認狀況下mongodb是沒有用戶的,若是是在—auth啓動的mongodb會應許你建立一個用戶,若是要建立更多的用戶則須要響應的權限。
因此若是咱們用—auth啓動mongodb服務,咱們建立的第一個用戶的角色通常是userAdminAnyDatabase 這個角色是mongodb內置的角色。這個內建角色最經常使用的就是它擁有查看數據庫列表的權限,和對全部數據庫的userAdmin這個內建角色的權限。若是一個用戶在數據庫上被賦予userAdmin這個角色,那麼他在該數據庫上就有如下的權限:
changeCustomData changePassword createRole createUser dropRole dropUser grantRole revokeRole viewRole viewUser
這裏咱們不在深刻的探討用戶(usesr),角色(role),權限(action)的話題,對於最基本的操做咱們須要注意的是用戶是創建在數據庫上的,因此當咱們只需受權操做時候要在use到對應的數據庫上db.auth(「username」,」password」)。也能夠自定義角色,指定角色有哪些權限(action)。
下面是在admin數據庫上建立一個admin用戶,而且爲他賦予了userAdminAnyDatabase角色和建立成功的返回結果。
db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]}) Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
首先是mongodump命令,仍是隻使用基本的參數
mongodump –d database_name –o outdir
把數據庫名爲database_name的數據庫導出到outdir目錄
從mongodump命令導出的數據恢復:
mongorestore –d database_name outdir
把outdir目錄的導入到數據庫名爲database_name 的數據庫
mongoexport –d database_name –c collection_name –o outfile_name
把數據庫名爲database_name 集合名爲collection_name導出爲outfile_name
mongoimport –d database_name –c collection_name infile_name
把文件infile_name文件的數據導入到數據庫名爲database_name,集合名爲collection_name的集合。
相比於 mongodbimport命令,mongorestore命令能夠實現批量的導入,恢復重mongodump導出的整個數據庫的時候,使用mongoresotre直接一步到位,很是方便。
上面的4個命令默認的鏈接的數據庫都是localhost,端口是27017的mongodb服務。因此必定要啓動本地的mongodb服務。固然你也能夠經過—host hostname:port的方式來指定要鏈接的主機和端口。值得注意的是上面的是個命令都是單獨的工具,因此直接在命令行執行就能夠了,不要在mongo中執行。
下面的連接是mongodb官方文檔關於mongodb基本操做(增刪改查)
https://docs.mongodb.org/manual/core/crud-introduction/
Mongodb的官方文檔中有一些內容很差找,下面就是一個mongodb shell經常使用的文檔連接,其中就包含了用戶和角色管理
https://docs.mongodb.org/manual/reference/method/
若是你沒有安裝成功,這裏有一篇不錯的關於怎樣安裝mongodb的文章:
http://www.javashuo.com/article/p-krjhcxmq-cv.html
mongodb的數據備份與恢復:
https://docs.mongodb.org/manual/reference/program/mongodump/
https://docs.mongodb.org/manual/reference/program/mongorestore/
https://docs.mongodb.org/manual/reference/program/mongoexport/