mongoDb,源於以前對mongo的數據一點都不懂html
由於項目中,用到了yapi,其內置數據存儲於mongoDb中, 不得不安裝mongodb數據庫mysql
什麼是mongoDB
- 基於分佈式文件存儲的數據庫
- 介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的
- NoSQL類型的數據庫
爲何要使用MongoDB
- 高讀寫的能力,吞吐量較於mysql等SQL數據庫大大加強(源於BSON(類JSON)做爲其數據模型結構)
- 易伸縮,自動故障轉移。易伸縮指的是提供了分片能力,能對數據集進行分片,數據的存儲壓力分攤給多臺服務器。自動故障轉移是副本集的概念,MongoDB能檢測主節點是否存活,當失活時能自動提高從節點爲主節點,達到故障轉移
- 數據模型由於是面向對象的,因此能夠表示豐富的、有層級的數據結構
mongoDB的應用場景
- 小項目基本上是用不到了
- 大數據量, 對事務要求不高
安裝
查看linux版本linux
![](http://static.javashuo.com/static/loading.gif)
選擇mogonDb版本sql
前往 https://www.mongodb.com/download-center/community 在線選擇mongodb
![](http://static.javashuo.com/static/loading.gif)
Linux命令安裝shell
參考如下方法(本人就是參照着方法安裝的)數據庫
https://www.cnblogs.com/pfnie/articles/6759105.html api
安裝注意點:
- 啓動命令 : mongoDb安裝bin目錄下執行 ./mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
- 中止命令: mongoDb安裝bin目錄下執行 ./mongod --shutdown --dbpath /usr/local/mongoDB/mongodbserver/data
- 查看是否已成功啓動(沒有對應顯示,則未啓動): netstat -an|grep 27017
- 驗證: db.auth("admin","123456"); 返回1驗證成功
- 建立用戶: db.createUser({user:"admin",pwd:"123456",roles:[{"role":"userAdminAnyDatabase","db":"admin"},{"role":"readWrite","db":"mydb"}]})
- 進入shell命令界面: mongoDb安裝bin目錄下執行 ./mongo
- shell 可執行mongoDb數據庫查詢(同等於sql命令)命令:
命名 |
含義 |
備註 |
use admin |
選擇admin數據庫 |
|
show users |
x顯示當前數據庫用戶列表 |
|
show dbs |
x顯示全部數據庫 |
|
show collections |
x顯示當前數據庫集合 |
|
異常
安裝成功, 但外網訪問不了時, 提示: authorization failed , authorization skipped by you服務器
![å¾ç](http://static.javashuo.com/static/loading.gif)
這個問題但是犯了我一陣, 百度什麼,修改version版本爲3,刪除admin, 驗證登陸,坑死人;數據結構
就是簡單的在 mongoDb的 etc/mongodb.config 配置文件中添加 bind_id = 0.0.0.0,便可讓可視化工具訪問登陸
![](http://static.javashuo.com/static/loading.gif)
修改後, 記得重啓mongodb