簡介¶
管理員和使用者可以控制mongod或Mongos的執行個體在運行時可以直接從mongod的命令列參數或使用設定檔修改。
雖然這兩種方法在功能上等同,且所有設定均類似的,設定檔的方法是可取的。如果您從包中,並已開始安裝MongoDB的使用系統的控制指令碼 ,你已經在使用一個設定檔。
要啟動mongod或Mongos的的使用一個設定檔,請使用下列形式之一:
mongod --config /etc/mongodb.conf
mongod -f /etc/mongodb.conf
mongos --config /srv/mongodb/mongos.conf
mongos -f /srv/mongodb/mongos.conf
在這個檔案中聲明的所有設定,使用下面的表格:
<setting> = <value>
新的2.0版本中: 在版本2.0 之前 ,布爾值(如TRUE | FALSE)或“標誌”參數,註冊為true,如果它們出現在設定檔,不論其價值。
設定¶
verbose¶
預設值:false
增加了大量的內部報告返回標準輸出或記錄檔中所產生的日誌路徑 。
v ¶
預設值:false
詳細的另一種形式。
VV ¶
預設值:false
額外增加的輸出和日誌記錄的詳細程度。
VVV ¶
預設值:false
額外增加的輸出和日誌記錄的詳細程度。
vvvv的 ¶
預設值:false
額外增加的輸出和日誌記錄的詳細程度。
VVVVV ¶
預設值:false
額外增加的輸出和日誌記錄的詳細程度。
quiet¶
預設值:false
在一個安靜的啟動並執行mongod或Mongos的的執行個體模式,試圖限制輸出量。此選項抑制:
- 資料庫命令的輸出,包括的下降 ,dropIndex,diagLogging , 驗證 ,清潔
- 複製活動。
- 串連接受事件。
- 串連關閉的事件。
port¶
預設值:27017
為mongod或Mongos的的指定的TCP連接埠 監聽用戶端串連的執行個體。UNIX-like系統號低於1000的連接埠需要root許可權。
bind_ip¶
Default: All interfaces.
將此選項設定為配置mongodMongos的進程綁定和監聽串連從這個地址上的應用程式。您可以串連mongod 或Mongos的情況下,以任何介面,但是,如果你附加的過程中可公開訪問的介面,實現正確的身分識別驗證或防火牆的限制,以保護你的資料庫的完整性。
您可以串連一個逗號分隔的值列表綁定mongod多個IP地址。
maxConns¶
預設值:取決於系統(即的ulimit和檔案描述符)限制除非設定的MongoDB不會限制其自己的串連。
指定一個值來設定最大數量的同時mongod或Mongos的串連在環境法院聽證會期間,法官和環境委員會在之前證據基礎上,完全重新考慮整個申請。此設定沒有任何影響,如果是高於你的作業系統的配置的最大串連跟蹤.threshold
為Mongos的,這是特別有用的,如果你有一個用戶端建立一個集合,但允許他們逾時,而不是關閉的藏品。當您設定maxConns ,確保該值是略高於串連池的大小,或總的串連數從傳播的成員來防止錯誤串連尖峰的片段群集中。
objcheck¶
預設值:false
設定為true,強制mongod來驗證所有的請求從用戶端,以確保在收到無效的BSON 對象永遠不會插入到資料庫中。mongod 不啟用此預設情況下,因為所需要的開銷。
logpath¶
預設值:無。 (即為/ dev / stdout中 )
指定的記錄檔,該檔案將儲存所有的檔案名稱的路徑診斷記錄資訊。
除非另有規定,mongod將所有的日誌資訊輸出輸出到標準輸出。除非logappend是真實的,記錄檔將被覆蓋時重新啟動的過程。
其他
目前,MongoDB中的記錄檔的內容將覆蓋如果不使用logappend 。這種行為可能改變的結果取決於在未來SERVER-4499 。
logappend¶
預設值:false
如果設定為true,則添加新條目的記錄檔,而不是覆蓋日誌的過程重新啟動時,內容的。
如果未指定此設定,然後MongoDB的覆蓋現有的記錄檔在啟動時。
其他
在不久的將來可能會改變的行為記錄系統未來SERVER-4499的情況下。
syslog¶
所有的日誌輸出發送到主機的系統日誌系統,而而不是標準輸出或記錄檔和日誌路徑 。
警告
您不能使用系統日誌與日誌路徑 。
pidfilepath¶
預設值:無。
指定檔案的位置舉行的“ PID “或進程IDmongod進程。有用跟蹤mongod過程中的結合的叉設定。
如果沒有這個選項,mongod建立PID檔案。
keyFile¶
預設值:無。
指定的密鑰檔案的路徑儲存身分識別驗證的資訊。此選項只適用於之間的串連複本集的成員。
參見。
“ 副本設定安全 “和“ 複本集的管理 。“
nounixsocket¶
預設值:false
設定為true,禁用偵聽的UNIX插座上。除非設定為false,mongod和Mongos的提供Unix通訊端。
unixSocketPrefix ¶
預設值 :/ tmp目錄
指定的UNIX通訊端的路徑。除非此選項的值,mongod Mongos的的 ,建立一個通訊端/ tmp作為首碼。
fork¶
預設值:false
如果設定為true,則啟用守護模式mongod,運行過程中的背景。
auth¶
預設值:false
如果設定為true,則啟用資料庫使用者身分識別驗證來自遠程主機的串連。配置使用者通過蒙戈Shell如果沒有使用者,本地主機介面將繼續對資料庫的訪問,直到你建立的第一個使用者。
cpu¶
預設值:false
設定為true,強制mongod提交一次報告4秒的CPU使用率和的時間量,所述處理器等待I / O操作完成(即I / O等待。)MongoDB中寫道:如果使用的資料輸出到標準輸出或記錄檔日誌直接選取。
dbpath¶
Default: /data/db/
將此值設定為指定的一個目錄的mongod 執行個體來儲存其資料。典型的地區包括:的/ srv / mongodb的的/ var / lib中/ mongodb的或者/ opt / mongodb的
除非另有規定,mongod將尋找資料檔案中的預設的/資料/ db目錄中。(Windows系統下使用\ DATA \ db目錄中。)如果您已安裝包中輸入SQL查詢。檢查的/ ETC / mongodb.conf中提供的檔案你的包看的DBPATH的配置。
diaglog ¶
預設值:0
建立一個非常詳細的故障排除和診斷記錄記錄各種錯誤。在MongoDB中寫入這些記錄檔DBPATH目錄中的字串開頭的一系列檔案,diaglog啟動的時間記錄追加為十六進位string.
此設定的值配置水平詳細度可能的值,其影響如下:
{0} {/0}Value |
設定 |
第0天 |
折!沒有記錄。 |
1 |
日誌寫操作。 |
2 |
日誌讀取操作。 |
3 |
日誌讀取和寫入操作。 |
7 |
日誌寫入和一些讀操作。 |
重播輸出,您可以使用mongosniff的工具進行調查。一個典型的diaglog檔案,位於/ data/db/diaglog.4f76a58c,你可以使用一個命令,在以下表格來讀取這些檔案:
mongosniff --source DIAGLOG /data/db/diaglog.4f76a58c
diaglog是供內部使用,不用於最使用者。
警告
的診斷層級設定為0,將導致mongod 停止的診斷記錄檔案寫入資料。但是,該的mongod執行個體將繼續保持開啟該檔案,即使它不再將資料寫入到該檔案。如果你想重新命名,移動或刪除診斷記錄,你必須完全關閉在這樣做之前下來的mongod執行個體。
directoryperdb¶
預設值:false
設定為true,修改的資料目錄中的儲存模式每個資料庫的檔案儲存體在不同的檔案夾中。此選項在DBPATH命名為每個建立目錄 directory.
在您的檔案系統和裝置的結合使用此選項MongoDB的配置,以便將資料存放區在若干不同的磁碟裝置的寫入輸送量增加或磁碟容量。
journal¶
Default: (on 64-bit systems) true
Default: (on 32-bit systems) false
如果設定為true,則啟用動作記錄,以確保寫耐用性和資料的一致性。
設定為false,以防止日誌的情況下的開銷在耐用性不是必需的。為了減少影響,日誌的磁碟使用方式,您可以將雜誌 啟用,並設定為true,以降低smallfiles的大小資料和記錄檔。
journalCommitInterval¶
預設值:100
將此值設定為指定的時間上限mongod之間所允許的日誌操作。預設的值是100毫秒。值越低,增加耐用性雜誌上,在儘可能低的代價的磁碟效能。
此選項接受2和300毫秒之間的值。
要強制mongod更頻繁地提交到日誌,您可以指定“J:”真實的“。當J:真正的寫操作, 待決,,mongod將減少journalCommitInterval定值的三分之一。
ipv6¶
預設值:false
設定為true,對IPv6的支援,允許用戶端串連到mongod mongod禁止使用IPv6的網路。mongod和所有的工具在預設情況下的IPv6的支援。
jsonp¶
預設值:false
如果設定為true,則允許JSONP通過HTTP訪問介面考慮安全問題,使這活動設定此選項之前。
noauth¶
預設值:true
禁用身分識別驗證。目前預設值。為未來而存在相容性和清晰度。
為了保持一致性,使用的身分識別驗證選項。
nohttpinterface¶
預設值:false
設定為true,禁用HTTP介面。此命令將覆蓋休息 ,禁用HTTP介面,如果你同時指定。
在2.1.2版更改: nohttpinterface選項是不可用Mongos的情況下才2.1.2
nojournal¶
預設值:(64位系統)假
預設值:(32位系統)的真實
設定帶有nojournal = true來禁用持久性日誌。通過預設情況下,mongod可以在64位版本的日記後2.0。
noprealloc¶
預設值:false
設定noprealloc = true來禁用預分配的資料它的格式與 shell 的路徑設定一樣: 冒號分割多個路徑名(windows環境使用分號分割).這將縮短啟動時間在某些情況下,但可以在正常操作過程中,會導致顯著的效能損失。
noscripting¶
預設值:false
設定noscripting = true來禁用指令碼引擎。
notablescan¶
預設值:false
設定notablescan = true來禁止操作需要表掃描。
nssize¶
預設值:16
指定此值(以MB為單位)。
使用此設定來控制所有新建立的預設大小命名空間的檔案(即NS)。此選項有沒有影響現有的命名空間的檔案的大小。
預設值是16MB,這提供了有效12000可能的命名空間。的最大大小為2 GB。
profile¶
預設值:0
修改此值水平的資料庫分析,經營業績的資訊插入到輸出mongod或指定的記錄檔,如果日誌路徑 。以下層級可供選擇:
水平 |
設定 |
第0天 |
關。無分析。 |
1 |
開僅包括較慢的操作。 |
2 |
開包括所有的操作。 |
預設情況下的mongod禁用分析。資料庫分析可能會影響資料庫的效能,因為探查器必須記錄並處理所有的資料庫操作。啟用此選項後,才謹慎考慮。
quota¶
預設值:false
設定為true, 以使最高限額為數字資料檔案每個資料庫都可以有。預設的配額是8個資料檔案,當配額是真實的。調整配額大小的quotaFiles設定。
quotaFiles¶
預設值:8
修改限制每個資料庫的資料檔案的數量。此選項需要配額設定。
rest¶
預設值:false
如果設定為true, 以使一個簡單的REST介面。
repair¶
預設值:false
設定為true,執行修複程式後對所有資料庫起動一般來說,你應該在命令列上設定此選項而不是在設定檔或在控制指令碼 。
使用mongod -修複選項來訪問功能。
其他
因為mongod重寫所有的資料庫檔案在維修過程中程式,如果你不運行維修 mongod通常運行在相同的使用者帳戶,您的資料庫檔案,您將需要運行 chown糾正的許可權,然後再次啟動mongod。
repairpath¶
Default: dbpath
指定的路徑MongoDB的資料檔案所在的目錄,使用與修複設定一起或mongod -修複操作。預設的價值指定DBPATH 。
slowms¶
預設值:100
指定以毫秒為單位的值。
設定的門檻mongod考慮查詢的“慢”資料庫中探查。該資料庫記錄了所有的查詢速度慢日誌,即使當探查未啟用。當資料庫分析器是,mongod分析器寫入system.profile集合。
參見。
: profile
smallfiles¶
預設值:false
設定為true,修改MongoDB的使用較小的預設資料{0}file{/0}{1}.size(){/1}具體來說, smallfiles降低了初始用於資料檔案和它們限制到512的大小<msg name="unit_MB">MB</msg>smallfiles設定也降低每個的大小雜誌 1千MB到128MB的檔案。
如果你有大量的資料庫,使用smallfiles設定各自持有少量的資料。smallfiles設定導致mongod建立很多檔案,這可能會影響更大的資料庫的效能。
syncdelay¶
預設值:60
此設定控制之間的最大秒數重新整理待寫入到磁碟中。而mongod總是將資料寫入磁碟,該設定控制了最大的保證一個成功的寫操作和下一次之間的間隔資料庫重新整理資料到磁碟上。
在許多情況下,實際的時間間隔之間的寫操作和磁碟排清比的值是更短的
如果設定為0,mongod重新整理到磁碟上的所有操作立即,可以具有顯著的效能的影響。IF日記是真實的,所有的寫操作將是持久的,通過該雜誌由指定的時間內journalCommitInterval 。
sysinfo¶
預設值:false
當設定為true,mongod返回診斷系統關於頁面大小的資訊,物理頁的數目,可用的物理頁面輸出到標準輸出。
更典型地,執行此操作的方式的mongod - sysinfo的 <command>當啟動並執行SYSINFO ,mongod只輸出的頁面資訊,沒有資料庫過程將開始。
upgrade¶
預設值:false
當此選項設定為 true升級磁碟上的資料格式由DBPATH到最新指定的檔案版本,如果需要的話。
此選項僅影響操作的mongod資料檔案是在一箇舊的格式。
指定的Mongos的執行個體時,該選項將更新使用設定資料庫的中繼資料格式。
其他
在大多數情況下,你不應該設定這個值,這樣你就可以行使最大程度地控制您的升級過程。請參閱MongoDB的版本資訊 (下載頁面)有關升級過程的更多資訊。
traceExceptions¶
預設值:false
對於使用內部診斷。
複製選項¶
replSet¶
預設值:<無>
形式:<setname>
使用此設定來配置複製的副本sets指定副本組的名稱作為參數,這一套。所有主機必須具有相同的組名稱。
參見。
複製“ 複本集管理 ,““ 複本集的配置 “
oplogSize¶
複製操作指定的最大大小(以MB為單位)日誌(例如oplog )。mongod建立一個oplog的基礎上的最大可用空間量。對於64位系統,oplog一般是5%的可用磁碟空間。
一旦mongod已為先建立的oplog時間,改變oplogSize不會影響的大小oplog。
fastsync¶
預設值:false
在複本集複製的情況下,設定此選項為true,如果你已經接種了該副本的快照DBPATH的另一名成員的集合。否則,mongod將嘗試執行完全同步。
警告
如果資料還沒有完美的同步和 mongod與fastsync開始,然後中學或從站將永久不同步小學,這可能會導致顯著的一致性問題。
replIndexPrefetch¶
新的2.2版本中。
預設值: 所有
值: 所有 , 沒有,_id_only
您,必須使用replIndexPrefetch在配合replSet 。
預設情況下, 二級的複本集成員載入到記憶體中的所有相關指標的操作前應用的oplog操作。您可以修改此行為,以便輔助將只載入的_id指數。指定_id_only或沒有 ,以防止mongod任何索引載入到記憶體中。
主/從複製¶
master¶
預設值:false
設定為 true配置作為當前執行個體複製配置中的主執行個體中。
slave¶
預設值:false
設定為 true配置作為當前執行個體從例如,在複製配置。
source¶
Default: <>
Form: <host>:<port>
的奴隸設定指定主執行個體, 從執行個體將複製
only¶
Default: <>
從選項, 只設定與使用僅指定一個單一的資料庫進行複製。
slavedelay¶
預設值:0
奴隸的設定與使用,slavedelay設定在幾秒鐘內配置一個“延遲”,該從站等待申請從主執行個體操作。
autoresync¶
預設值:false
使用的奴隸設定,設定autoresync如果真給力的奴隸 ,自動重新同步超過10秒,後面的主。該設定可能問題,如果- oplogSize oplog太小“(控制的- oplogSize選項。)如果oplog並不大足夠的儲存高手之間的差異目前的狀況和狀態的奴隸,這種情況下會強制重新同步本身是不必要的。當你設定autoresync時 選項,從站將不會嘗試自動重新同步多一旦在10分鐘內。
分區群集選項¶
configsvr¶
預設值:false
將此值設定為true,配置mongod 執行個體操作的設定資料庫的片段n.束,組;n.組,簇mongod使用此選項的預設連接埠27019 mongod寫的所有的資料檔案/ configdb的子目錄的DBPATH目錄的。
shardsvr¶
預設值:false
將此值設定為true,配置mongod 例如在一個分區的簇的片段。的預設連接埠這種情況下是27018。
noMoveParanoia¶
預設值:false
當設定為true, noMoveParanoia禁用“偏執模式”的資料區塊遷移操作中寫道。請參閱塊遷移和moveChunk命令的文檔瞭解更多資訊。
預設情況下,,mongod將節省遷移資料區塊的副本“從”伺服器遷移過程中的“偏執模式”。設定此選項禁用此偏執狂。
configdb¶
預設值:無。
格式 :<config1>,<config2> <:連接埠>,<config3>
設定此選項來指定設定資料庫(即設定資料庫 )的片式叢集 。你開始了調查分析儀,必須指定設定管理員或3設定管理員,以逗號分隔的列表。
此設定隻影響Mongos的過程。
test¶
預設值:false
只有運行單元測試不會啟動Mongos的的的的執行個體。
此設定隻影響Mongos的進程,並為只使用自我裝載。
chunkSize¶
預設值:64
此選項的值的大小決定了每塊 各地的片式叢集分布的資料。預設的值是64MB。較大的塊可能會導致不均勻的分布的資料,而較小的資料區塊可能會導致頻繁和不必要的遷移。然而,在某些情況下,它可能是需要設定不同的塊大小。
此設定隻影響Mongos的過程。除此之外,在初始化時, CHUNKSIZE 只設定塊大小為第一次的群集。如果你修改了運行時選項後,新的值將沒有任何效果。請參閱“ 修改塊大小 “的過程,如果你需要改變的塊大小,在現有的片式叢集。
localThreshold¶
新的2.2版本中。
localThreshold影響程式的邏輯:Mongos的 使用時,選擇複本集成員通過讀取操作從用戶端。指定一個值localThreshold以毫秒為單位。預設值是15,其對應於所有的用戶端中的預設值。
此設定隻影響Mongos的過程。
當Mongos的接收到一個請求,允許讀取二級會員, Mongos的 :
- 找到最近的合適的設定,成員的ping時間。
- 構建複本集成員的列表,是在平最近的合適成員,時間為15毫秒S
如果你指定值localThreshold ,Mongos的將構建的副 本成員名單此值所允許的延遲內。
- Mongos的會選擇一個成員,從在讀從這個名單中隨機。