1. 程式人生 > >MongoDB-安裝與設定

MongoDB-安裝與設定

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編寫某個函式,直接在服務端執行,也可以把函式的定義儲存在服務端,下次直接呼叫即可。

安裝與設定

  1. 匯入MongoDB的GPK :sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
  2. 新增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
  3. 更新源,下載:sudo apt updatesudo 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

  1. 對mongoDB Server的管理:sudo systemctl enable mongod, sudo systemctl start mongod
  2. 執行:mongod --port 27017 --dbpath /data/db,執行命令之後, MongoDB 就在 27017 埠上運行了,資料檔案會儲存在/data/db 路徑下
  3. 進入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使用者,賦予最高許可權。

  1. 修改配置檔案,允許遠端連線sudo vim /etc/mongodb.conf,把 bind_ip=127.0.0.1 這一行註釋掉或者是修改成 bind_ip=0.0.0.0 ,重啟mongodb服務:sudo service mongodb restart

  2. 視覺化工具:Studio 3T和Robo 3T的下載地址:https://robomongo.org/
    在這裡插入圖片描述

  3. 設定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