01 . MongoDB簡介及部署配置
簡介
什麼是MongoDB?
MongoDB 是由C++語言編寫的,是一個基於分散式文件存儲的開源資料庫系統。
在高負載的情況下,添加更多的節點,可以保證伺服器性能。
MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
MongoDB 將數據存儲為一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔類似於 JSON 對象。欄位值可以包含其他文檔,數組及文檔數組。
主要特點
# MongoDB 是一個面向文檔存儲的資料庫,操作起來比較簡單和容易。
# 你可以在MongoDB記錄中設置任何屬性的索引 (如:FirstName="Sa
meer",Address="8 Gandhi Road")來實現更快的排序。
# 你可以通過本地或者網路創建數據鏡像,這使得MongoDB有更強的擴展性。
# 如果負載的增加(需要更多的存儲空間和更強的處理能力)
,它可以分布在電腦網路中的其他節點上這就是所謂的分片。
# Mongo支援豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。
# MongoDb 使用update()命令可以實現替換完成的文檔(數據)或者一些指定的數據欄位 。
# Mongodb中的Map/reduce主要是用來對數據進行批量處理和聚合操作。
# Map和Reduce。Map函數調用emit(key,value)遍歷集合中所有的記錄,將key與value傳給Reduce函數進行處理。
# Map函數和Reduce函數是使用Javascript編寫的,並可以通過db.runCommand或mapreduce命令來執行MapReduce操作。
# GridFS是MongoDB中的一個內置功能,可以用於存放大量小文件。
# MongoDB允許在服務端執行腳本,可以用Javascript編寫某個函數,直接在服務端執行,也可以把函數的定義存儲在服務端,下次直接調用即可。
# MongoDB支援各種程式語言:RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
# MongoDB安裝簡單。
MongoDB工具
監控
MongoDB提供了網路和系統監控工具Munin,它作為一個插件應用於MongoDB中。
Gangila是MongoDB高性能的系統監視的工具,它作為一個插件應用於MongoDB中。
基於圖形介面的開源工具 Cacti, 用於查看CPU負載, 網路頻寬利用率,它也提供了一個應用於監控 MongoDB 的插件。
GUI
# Fang of Mongo – 網頁式,由Django和jQuery所構成。
# Futon4Mongo – 一個CouchDB Futon web的mongodb山寨版
# Mongo3 – Ruby寫成。
# MongoHub – 適用於OSX的應用程式。
# Opricot – 一個基於瀏覽器的MongoDB控制台, 由PHP撰寫而成。
# Database Master — Windows的mongodb管理工具
# RockMongo — 最好的PHP語言的MongoDB管理工具,輕量級, 支援多國語言.
MongoDB應用案例
# Craiglist上使用MongoDB的存檔數十億條記錄。
# FourSquare,基於位置的社交網站,在Amazon EC2的伺服器上使用MongoDB分享數據。
# Shutterfly,以互聯網為基礎的社會和個人出版服務,使用MongoDB的各種持久性數據存儲的要求。
# bit.ly, 一個基於Web的網址縮短服務,使用MongoDB的存儲自己的數據。
# spike.com,一個MTV網路的聯營公司, spike.com使用MongoDB的。
# Intuit公司,一個為小企業和個人的軟體和服務提供商,為小型企業使用MongoDB的跟蹤用戶的數據。
# sourceforge.net,資源網站查找,創建和發布開源軟體免費,使用MongoDB的後端存儲。
# etsy.com ,一個購買和出售手工製作物品網站,使用MongoDB。
# 紐約時報,領先的在線新聞門戶網站之一,使用MongoDB。
# CERN,著名的粒子物理研究所,歐洲核子研究中心大型強子對撞機的數據使用MongoDB。
部署MongoDB
下載解壓Mongo.tar包
# 下載地址
//www.mongodb.com/download-center#community
curl -O //fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
tar xf mongodb-linux-x86_64-3.0.6.tgz -C /usr/local/
mv /usr/local/mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb
tail -1 /etc/bashrc
export PATH=/usr/local/mongodb/bin:$PATH
source /etc/bashrc
創建資料庫目錄
MongoDB的數據存儲在data目錄的db目錄下,但是這個目錄在安裝過程不會自動創建,所以你需要手動創建data目錄,並在data目錄中創建db目錄。
以下實例中我們將data目錄創建於根目錄下(/)。
注意:/data/db 是 MongoDB 默認的啟動的資料庫路徑(–dbpath)。
mkdir -p /data/db
啟動服務
你可以再命令行中執行mongo安裝目錄中的bin目錄執行mongod命令來啟動mongdb服務。
注意:如果你的資料庫目錄不是/data/db,可以通過 –dbpath 來指定。
mongod
2020-06-19T09:56:51.152+0800 I STORAGE [initandlisten]
2020-06-19T09:56:51.152+0800 I STORAGE [initandlisten] ** WARNING: Readahead for /data/db is set to 4096KB
2020-06-19T09:56:51.152+0800 I STORAGE [initandlisten] ** We suggest setting it to 256KB (512 sectors) or less
2020-06-19T09:56:51.152+0800 I STORAGE [initandlisten] ** //dochub.mongodb.org/core/readahead
MongoDB後台管理Shell
如果你需要進入MongoDB後台管理,你需要先打開mongodb裝目錄的下的bin目錄,然後執行mongo命令文件。
MongoDB Shell是MongoDB自帶的互動式Javascript shell,用來對MongoDB進行操作和管理的互動式環境。
當你進入mongoDB後台後,它默認會鏈接到 test 文檔(資料庫):
# 啟動mongod服務後,再執行mongo就會進入下面命令行
mongo
MongoDB shell version: 3.0.6
connecting to: test
Welcome to the MongoDB shell.
# 新版本MongDB增加了安全性設計,推薦用戶創建使用資料庫時進行驗證。如果用戶想建立簡單連接,則會提示警示資訊
#創建管理員帳號並設置密碼:
>use admin
switched to db admin
> db.createUser( {user: "firstadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
Successfully added user: {
"user" : "firstadmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
# 由於它是一個JavaScript shell,還可以運行一些簡單的算術運算
> 1+1
2
> 10000+20000
30000
# 我們可以插入一些簡單的數據,並對插入數據進行檢索
> db.youmen.insert({x:10})
# 這個命令表示將數字10插入到youmen集合的x欄位中
WriteResult({ "nInserted" : 1 })
> db.youmen.find()
{ "_id" : ObjectId("5eec1c706808f6fb8fbda718"), "x" : 10 }
MongoDB Web用戶介面
MongoDB 提供了簡單的 HTTP 用戶介面。 如果你想啟用該功能,需要在啟動的時候指定參數 –rest 。
mongod --dbpath=/data/db --rest
# MongoDB 的 Web 介面訪問埠比服務的埠多1000。
# 如果你的MongoDB運行埠使用默認的27017,你可以在埠號為28017訪問web用戶介面,即地址為://localhost:28017
MongoDB概念解析
SQL術語/概念 | MongoDB術語/概念 | 解釋/說明 |
---|---|---|
database | database | 資料庫 |
table | collection | 資料庫表/集合 |
row | document | 數據記錄行/文檔 |
column | field | 數據欄位/域 |
index | index | 索引 |
table joins | 表連接,MongoDB不支援 | |
primary key | primary key | 主鍵,MongoDB自動將_id欄位設置為主鍵 |
通過下圖實例,我們也可以直觀的了解Mongo中的一些概念
資料庫
一個mongodb中可以建立多個資料庫。
MongoDB的默認資料庫為”db”,該資料庫存儲在data目錄中。
MongoDB的單個實例可以容納多個獨立的資料庫,每一個都有自己的集合和許可權,不同的資料庫也放置在不同的文件中。
“show dbs” 命令可以顯示所有數據的列表。
> show dbs
local 0.078GB
test 0.078GB
# db顯示當前資料庫對象或集合
> db
test
# use命令,連接到一個指定的資料庫
> use local
switched to db local
> db
local
資料庫也通過名字來標識。資料庫名可以是滿足以下條件的任意UTF-8字元串。
# 不能是空字元串("")。
# 不得含有' '(空格)、.、$、/、\和\0 (空字元)。
# 應全部小寫。
# 最多64位元組。
有一些資料庫名是保留的,可以直接訪問這些有特殊作用的資料庫。
admin: 從許可權的角度來看,這是”root”資料庫。要是將一個用戶添加到這個資料庫,這個用戶自動繼承所有資料庫的許可權。一些特定的伺服器端命令也只能從這個資料庫運行,比如列出所有的資料庫或者關閉伺服器。
local: 這個數據永遠不會被複制,可以用來存儲限於本地單台伺服器的任意集合
config: 當Mongo用於分片設置時,config資料庫在內部使用,用於保存分片的相關資訊。
文檔(Document)
文檔是一組鍵值(key-value)對(即 BSON)。MongoDB 的文檔不需要設置相同的欄位,並且相同的欄位不需要相同的數據類型,這與關係型資料庫有很大的區別,也是 MongoDB 非常突出的特點。
一個簡單的文檔例子如下:
{"site":"www.youmen.com", "name":"幽夢"}
下表列出了RDBMS與MongoDB對應的術語
RDBMS | MongoDB |
---|---|
資料庫 | 資料庫 |
表格 | 集合 |
行 | 文檔 |
列 | 欄位 |
表聯合 | 嵌入文檔 |
主鍵 | 主鍵 (MongoDB 提供了 key 為 _id ) |
資料庫服務和客戶端 | |
Mysqld/Oracle | mongod |
mysql/sqlplus | mongo |
需要注意的是
# 1. 文檔中的鍵/值對是有序的。
# 2. 文檔中的值不僅可以是在雙引號裡面的字元串,還可以是其他幾種數據類型(甚至可以是整個嵌入的文檔)。
# 3. MongoDB區分類型和大小寫。
# 4. MongoDB的文檔不能有重複的鍵。
# 5. 文檔的鍵是字元串。除了少數例外情況,鍵可以使用任意UTF-8字元。
# 文檔鍵命名規範:
# 鍵不能含有\0 (空字元)。這個字元用來表示鍵的結尾。
# .和$有特別的意義,只有在特定環境下才能使用。
# 以下劃線"_"開頭的鍵是保留的(不是嚴格要求的)。
集合
集合就是 MongoDB 文檔組,類似於 RDBMS (關係資料庫管理系統:Relational Database Management System)中的表格。
集合存在於資料庫中,集合沒有固定的結構,這意味著你在對集合可以插入不同格式和類型的數據,但通常情況下我們插入集合的數據都會有一定的關聯性。
比如,我們可以將以下不同數據結構的文檔插入到集合中:
{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.youmen.com","name":"幽夢","num":5}
當第一個文檔被插入時,集合就會被創建
合法的集合名
# 集合名不能是空字元串""。
# 集合名不能含有\0字元(空字元),這個字元表示集合名的結尾。
# 集合名不能以"system."開頭,這是為系統集合保留的前綴。
# 用戶創建的集合名字不能含有保留字元。有些驅動程式的確支援在集合名裡面包含,這是因為某些系統生成的集合中包含該字元。除非你要訪問這種系統創建的集合,否則千萬不要在名字里出現$。
Capped Collections
Capped collections 就是固定大小的collection。
它有很高的性能以及隊列過期的特性(過期按照插入的順序). 有點和 “RRD” 概念類似。
Capped collections 是高性能自動的維護對象的插入順序。它非常適合類似記錄日誌的功能和標準的 collection 不同,你必須要顯式的創建一個capped collection,指定一個 collection 的大小,單位是位元組。collection 的數據存儲空間值提前分配的。
Capped collections 可以按照文檔的插入順序保存到集合中,而且這些文檔在磁碟上存放位置也是按照插入順序來保存的,所以當我們更新Capped collections 中文檔的時候,更新後的文檔不可以超過之前文檔的大小,這樣話就可以確保所有文檔在磁碟上的位置一直保持不變。
由於 Capped collection 是按照文檔的插入順序而不是使用索引確定插入位置,這樣的話可以提高增添數據的效率。MongoDB 的操作日誌文件 oplog.rs 就是利用 Capped Collection 來實現的。
要注意的是指定的存儲大小包含了資料庫的頭資訊。
db.createCollection("mycoll", {capped:true, size:100000})
在 capped collection 中,你能添加新的對象。
能進行更新,然而,對象不會增加存儲空間。如果增加,更新就會失敗 。
使用 Capped Collection 不能刪除一個文檔,可以使用 drop() 方法刪除 collection 所有的行。
刪除之後,你必須顯式的重新創建這個 collection。
在32bit機器中,capped collection 最大存儲為 1e9( 1X109)個位元組。
元數據
資料庫的資訊是存儲在集合中。它們使用了系統的命名空間:
dbname.system.*
在MongoDB資料庫中名字空間 <dbname>.system.* 是包含多種系統資訊的特殊集合(Collection),如下:
集合命名空間 | 描述 |
---|---|
dbname.system.namespaces | 列出所有名字空間。 |
dbname.system.indexes | 列出所有索引。 |
dbname.system.profile | 包含資料庫概要(profile)資訊。 |
dbname.system.users | 列出所有可訪問資料庫的用戶。 |
dbname.local.sources | 包含複製對端(slave)的伺服器資訊和狀態。 |
對於修改系統集合中的對象有如下限制。
在{{system.indexes}}插入數據,可以創建索引。但除此之外該表資訊是不可變的(特殊的drop index命令將自動更新相關資訊)。
{{system.users}}是可修改的。 {{system.profile}}是可刪除的。
MongoDB數據類型
數據類型 | 描述 |
---|---|
String | 字元串。存儲數據常用的數據類型。在 MongoDB 中,UTF-8 編碼的字元串才是合法的。 |
Integer | 整型數值。用於存儲數值。根據你所採用的伺服器,可分為 32 位或 64 位。 |
Boolean | 布爾值。用於存儲布爾值(真/假)。 |
Double | 雙精度浮點值。用於存儲浮點值。 |
Min/Max keys | 將一個值與 BSON(二進位的 JSON)元素的最低值和最高值相對比。 |
Array | 用於將數組或列表或多個值存儲為一個鍵。 |
Timestamp | 時間戳。記錄文檔修改或添加的具體時間。 |
Object | 用於內嵌文檔。 |
Null | 用於創建空值。 |
Symbol | 符號。該數據類型基本上等同於字元串類型,但不同的是,它一般用於採用特殊符號類型的語言。 |
Date | 日期時間。用 UNIX 時間格式來存儲當前日期或時間。你可以指定自己的日期時間:創建 Date 對象,傳入年月日資訊。 |
Object ID | 對象 ID。用於創建文檔的 ID。 |
Binary Data | 二進位數據。用於存儲二進位數據。 |
Code | 程式碼類型。用於在文檔中存儲 JavaScript 程式碼。 |
Regular expression | 正則表達式類型。用於存儲正則表達式。 |
下面說明幾種重要的數據類型
ObjectId 類似唯一主鍵,可以很快的去生成和排序,包含 12 bytes,含義是:
# 前 4 個位元組表示創建 **unix** 時間戳,格林尼治時間 **UTC** 時間,比北京時間晚了 8 個小時
# 接下來的 3 個位元組是機器標識碼
# 緊接的兩個位元組由進程 id 組成 PID
# 最後三個位元組是隨機
MongoDB 中存儲的文檔必須有一個 _id 鍵。這個鍵的值可以是任何類型的,默認是個 ObjectId 對象
由於 ObjectId 中保存了創建的時間戳,所以你不需要為你的文檔保存時間戳欄位,你可以通過 getTimestamp 函數來獲取文檔的創建時間:
> var newObject = ObjectId()
> newObject.getTimestamp()
ISODate("2020-06-19T02:44:34Z")
Objectid轉換為字元串
> newObject.str
5eec2692383608904cb30cb6
字元串
BSON 字元串都是 UTF-8 編碼
時間戳
BSON 有一個特殊的時間戳類型用於 MongoDB 內部使用,與普通的 日期 類型不相關。 時間戳值是一個 64 位的值。其中:
# 前32位是一個 time_t 值(與Unix新紀元相差的秒數)
# 後32位是在某秒中操作的一個遞增的`序數`
在單個 mongod 實例中,時間戳值通常是唯一的。
在複製集中, oplog 有一個 ts 欄位。這個欄位中的值使用BSON時間戳表示了操作時間。
BSON 時間戳類型主要用於 MongoDB 內部使用。在大多數情況下的應用開發中,你可以使用 BSON 日期類型。
日期
表示當前距離 Unix新紀元(1970年1月1日)的毫秒數。日期類型是有符號的, 負數表示 1970 年之前的日期。
> var mydate1 = new Date()
> mydate1
ISODate("2020-06-19T02:49:22.128Z")
> var mydate2 = ISODate()
> mydate2
ISODate("2020-06-19T02:47:44.664Z")
# 這樣創建的時間是日期類型,可以使用 JS 中的 Date 類型的方法。
# 返回一個時間類型的字元串:
> var mydate1str = mydate1.toString()
> mydate1str
Fri Jun 19 2020 10:49:22 GMT+0800 (CST)
> typeof mydate1str
string
OR
> Date()
Fri Jun 19 2020 10:53:15 GMT+0800 (CST)
MongoDB常用命令及配置文件參數詳解
命令參數詳解
--logpath # 日誌文件路徑
--master # 指定為主機器
--slave # 指定為從機器
--source # 指定主機器的IP地址
--pologSize # 指定日誌文件大小不超過64M.因為resync是非常操作量大且耗時,最好通過設置一個足夠大的oplogSize來避免resync(默認的 oplog大小是空閑磁碟大小的5%)。
--logappend # 日誌文件末尾添加
--port # 啟用埠號
--fork # 在後台運行
--only # 指定只複製哪一個資料庫
--slavedelay # 指從複製檢測的時間間隔
--auth # 是否需要驗證許可權登錄(用戶名和密碼)
-h [ --help ] # show this usage information
--version # show version information
-f [ --config ] arg # configuration file specifying additional options
--port arg # specify port number
--bind_ip arg # local ip address to bind listener - all local ips
bound by default
-v [ --verbose ] # be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
--dbpath arg (=/data/db/) # directory for datafiles 指定數據存放目錄
--quiet # quieter output 靜默模式
--logpath arg # file to send all output to instead of stdout 指定日誌存放目錄
--logappend # appnd to logpath instead of over-writing 指定日誌是以追加還是以覆蓋的方式寫入日誌文件
--fork # fork server process 以創建子進程的方式運行
--cpu # periodically show cpu and iowait utilization 周期性的顯示cpu和io的使用情況
--noauth # run without security 無認證模式運行
--auth # run with security 認證模式運行
--objcheck # inspect client data for validity on receipt 檢查客戶端輸入數據的有效性檢查
--quota # enable db quota management 開始資料庫配額的管理
--quotaFiles arg # number of files allower per db, requires --quota 規定每個資料庫允許的文件數
--appsrvpath arg # root directory for the babble app server
--nocursors # diagnostic/debugging option 調試診斷選項
--nohints # ignore query hints 忽略查詢命中率
--nohttpinterface # disable http interface 關閉http介面,默認是28017
--noscripting # disable scripting engine 關閉腳本引擎
--noprealloc # disable data file preallocation 關閉資料庫文件大小預分配
--smallfiles # use a smaller default file size 使用較小的默認文件大小
--nssize arg (=16) # .ns file size (in MB) for new databases 新資料庫ns文件的默認大小
--diaglog arg # 0=off 1=W 2=R 3=both 7=W+some reads 提供的方式,是只讀,只寫,還是讀寫都行,還是主要寫+部分的讀模式
--sysinfo # print some diagnostic system information 列印系統診斷資訊
--upgrade # upgrade db if needed 如果需要就更新資料庫
--repair # run repair on all dbs 修復所有的資料庫
--notablescan # do not allow table scans 不運行表掃描
--syncdelay arg (=60) # seconds between disk syncs (0 for never) 系統同步刷新磁碟的時間,默認是60s
Replication options:
--master # master mode 主複製模式
--slave # slave mode 從複製模式
--source arg # when slave: specify master as <server:port> 當為從時,指定主的地址和埠
--only arg # when slave: specify a single database to replicate 當為從時,指定需要從主複製的單一庫
--pairwith arg # address of server to pair with
--arbiter arg # address of arbiter server 仲裁伺服器,在主主中和pair中用到
--autoresync # automatically resync if slave data is stale 自動同步從的數據
--oplogSize arg # size limit (in MB) for op log 指定操作日誌的大小
--opIdMem arg # size limit (in bytes) for in memory storage of op ids指定存儲操作日誌的記憶體大小
Sharding options:
--configsvr # declare this is a config db of a cluster 指定shard中的配置伺服器
--shardsvr # declare this is a shard db of a cluster 指定shard伺服器
其他配置參數含義
--quiet # 安靜輸出
--port arg # 指定服務埠號,默認埠27017
--bind_ip arg # 綁定服務IP,若綁定127.0.0.1,則只能本機訪問,不指定默認本地所有IP
--logpath arg # 指定MongoDB日誌文件,注意是指定文件不是目錄
--logappend # 使用追加的方式寫日誌
--pidfilepath arg # PID File 的完整路徑,如果沒有設置,則沒有PID文件
--keyFile arg # 集群的私鑰的完整路徑,只對於Replica Set 架構有效
--unixSocketPrefix arg # UNIX域套接字替代目錄,(默認為 /tmp)
--fork # 以守護進程的方式運行MongoDB,創建伺服器進程
--auth # 啟用驗證
--cpu # 定期顯示CPU的CPU利用率和iowait
--dbpath arg # 指定資料庫路徑
--diaglog arg # diaglog選項 0=off 1=W 2=R 3=both 7=W+some reads
--directoryperdb # 設置每個資料庫將被保存在一個單獨的目錄
--journal # 啟用日誌選項,MongoDB的數據操作將會寫入到journal文件夾的文件里
--journalOptions arg # 啟用日誌診斷選項
--ipv6 # 啟用IPv6選項
--jsonp # 允許JSONP形式通過HTTP訪問(有安全影響)
--maxConns arg # 最大同時連接數 默認2000
--noauth # 不啟用驗證
--nohttpinterface # 關閉http介面,默認關閉27018埠訪問
--noprealloc # 禁用數據文件預分配(往往影響性能)
--noscripting # 禁用腳本引擎
--notablescan # 不允許表掃描
--nounixsocket # 禁用Unix套接字監聽
--nssize arg (=16) # 設置信資料庫.ns文件大小(MB)
--objcheck # 在收到客戶數據,檢查的有效性,
--profile arg # 檔案參數 0=off 1=slow, 2=all
--quota # 限制每個資料庫的文件數,設置默認為8
--quotaFiles arg # number of files allower per db, requires --quota
--rest # 開啟簡單的rest API
--repair # 修復所有資料庫run repair on all dbs
--repairpath arg # 修復庫生成的文件的目錄,默認為目錄名稱dbpath
--slowms arg (=100) # value of slow for profile and console log
--smallfiles # 使用較小的默認文件
--syncdelay arg (=60) # 數據寫入磁碟的時間秒數(0=never,不推薦)
--sysinfo # 列印一些診斷系統資訊
--upgrade # 如果需要升級資料庫
#Replicaton 參數
--fastsync # 從一個dbpath里啟用從庫複製服務,該dbpath的資料庫是主庫的快照,可用於快速啟用同步
--autoresync # 如果從庫與主庫同步數據差得多,自動重新同步,
--oplogSize arg # 設置oplog的大小(MB)
#主/從參數
--master # 主庫模式
--slave # 從庫模式
--source arg # 從庫 埠號
--only arg # 指定單一的資料庫複製
--slavedelay arg # 設置從庫同步主庫的延遲時間
#Replica set(副本集)選項:
--replSet arg # 設置副本集名稱
#Sharding(分片)選項
--configsvr # 聲明這是一個集群的config服務,默認埠27019,默認目錄/data/configdb
--shardsvr # 聲明這是一個集群的分片,默認埠27018
--noMoveParanoia # 關閉偏執為moveChunk數據保存
配置文件參數詳解
# 簡單示例
# 資料庫數據存放目錄
dbpath=/usr/local/mongodb/data
# 資料庫日誌存放目錄
logpath=/usr/local/mongodb/logs/mongodb.log
# 以追加的方式記錄日誌
logappend = true
# 埠號 默認為27017
port=27017
# 以後台方式運行進程
fork=true
# 開啟用戶認證
auth=true
# 關閉http介面,默認關閉http埠訪問
#nohttpinterface=true
# mongodb所綁定的ip地址
#bind_ip = 127.0.0.1
# 啟用日誌文件,默認啟用
journal=true
# 這個選項可以過濾掉一些無用的日誌資訊,若需要調試使用請設置為false
quiet=true