MongoDB-安裝與設定
阿新 • • 發佈:2018-12-04
MongoDB
MongoDB的安裝與設定
MongoDB 是由 C++語言編寫的非關係型
資料庫, 是一個基於分散式檔案儲存的開源資料庫系統 ,其內容儲存形式類似 JSON 物件,它的欄位值可以包含其他文件、陣列及文件陣列,非常靈活。MongoDB 是非關係資料庫當中功能最豐富,最像關係資料庫的,它與關係型資料庫的對應:
SQL術語/概念 | MongoDB術語/概念 | 解釋/說明 |
---|---|---|
database | database | 資料庫 |
table | collection | 資料庫表/集合 |
row | document | 資料記錄行/文件 |
column | field | 資料欄位/域 |
index | index | 索引 |
table joins | 表連線,MongoDB不支援 | |
primary key | primary key | 主鍵,MongoDB自動將_id欄位設定為主鍵 |
NoSQL
NoSQL,指的是非關係型的資料庫。NoSQL有時也稱作Not Only SQL的縮寫,是對不同於傳統的關係型資料庫的資料庫管理系統的統稱。NoSQL用於超大規模資料的儲存
MongoDB的特點
- MongoDB 是一個面向文件儲存的資料庫,操作起來比較簡單和容易。
- 你可以在MongoDB記錄中設定任何屬性的索引 (如:FirstName=“Sameer”,Address=“8 Gandhi Road”)來實現更快的排序。
- 你可以通過本地或者網路建立資料映象,這使得MongoDB有更強的擴充套件性。如果負載的增加(需要更多的儲存空間和更強的處理能力) ,它可以分佈在計算機網路中的其他節點上這就是所謂的分片。
- Mongo支援豐富的查詢表示式。查詢指令使用JSON形式的標記,可輕易查詢文件中內嵌的物件及陣列。
- MongoDB允許在服務端執行指令碼,可以用Javascript編寫某個函式,直接在服務端執行,也可以把函式的定義儲存在服務端,下次直接呼叫即可。
安裝與設定
- 匯入MongoDB的GPK :
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
; - 新增mongodb源:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
; - 更新源,下載:
sudo apt update
,sudo apt install mongodb-org
檢視:
[email protected]:~/Downloads$ mongo --version
MongoDB shell version v4.0.4
git version: f288a3bdf201007f3693c58e140056adf8b04839
OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017
allocator: tcmalloc
modules: none
build environment:
distmod: ubuntu1804
distarch: x86_64
target_arch: x86_64
- 對mongoDB Server的管理:
sudo systemctl enable mongod
,sudo systemctl start mongod
- 執行:
mongod --port 27017 --dbpath /data/db
,執行命令之後, MongoDB 就在 27017 埠上運行了,資料檔案會儲存在/data/db 路徑下 - 進入MongoDB:
mongo --port 27017
,執行
> use admin
switched to db admin
> db.createUser({user:'dbuser', pwd:'******', roles:[{role:'root',db:'admin'}]})
Successfully added user: {
"user" : "dbuser",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
建立了一個admin使用者,賦予最高許可權。
-
修改配置檔案,允許遠端連線
sudo vim /etc/mongodb.conf
,把bind_ip=127.0.0.1
這一行註釋掉或者是修改成bind_ip=0.0.0.0
,重啟mongodb服務:sudo service mongodb restart
-
視覺化工具:Studio 3T和Robo 3T的下載地址:https://robomongo.org/
-
設定mongodb後臺啟動,在配置檔案mongod.conf中設定
dbpath=/data/mongo/
logpath=/data/mongo/mongo.log
logappend=true
fork=true
port=27017
使用-f
引數指定啟動時使用的配置檔案:
[email protected]:~$ mongod -f /etc/mongodb.conf
2018-11-30T10:45:49.760+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
about to fork child process, waiting until server is ready for connections.
forked process: 20717
child process started successfully, parent exiting