MongoDB資料庫中mongod的主要引數
mongod的主要引數有:
基本配置
--------------------------------------------------------------------------------
--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資料儲存 |
# 上述引數都可以寫入 mongod.conf 配置文件裡例如:
dbpath = /data/mongodb
logpath = /data/mongodb/mongodb.log
logappend = true
port = 27017
fork = true
auth = true
例如配置叢集的配置檔案:
# usercenter replset master bind_ip=10.10.1.163 #指定伺服器監聽的埠,預設是27017 port=30010
#叢集名字 replSet=test_set #以守護程序的方式執行MongoDB fork=true
#一個數據庫一個資料夾 directoryperdb=true
##啟用日誌選項,MongoDB的資料操作將會寫入到journal資料夾的檔案裡 journal = true
# 在收到客戶資料,檢查的有效性 objcheck=true
#操作日誌大小限制2G oplogSize=2000
#pidfile pidfilepath=/data/mongo_set/test_set/30010/mongo_m30010.pid
#指定資料目錄,預設是/data/db/。每個mongod程序都需要獨立的目錄, #啟動mongod時就會在資料目錄中建立mongod.lock檔案,防止其他mongod程序使用該資料目錄。 dbpath=/data/mongo_set/test_set/30010
#指定日誌輸出路徑,如果不指定則會在終端輸出。每次啟動都會覆蓋原來的日誌,如果不想覆蓋就要用--logappend選項 logpath=/data/mongo_set/test_set/30010/mongo30010.log
logappend=true #auth=true
#0:關閉,不收集任何資料。1:收集慢查詢資料,預設是100毫秒。2:收集所有資料 profile=2 slowms=100 #.禁止HTTP狀態介面 nohttpinterface=true #.禁止REST介面-在生產環境下建議不要啟用MongoDB的REST介面 rest=false |