国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

linux中MongoDB數(shù)據(jù)庫詳細配置說明

2024-08-27 23:58:39
字體:
供稿:網(wǎng)友

下面看一站長分享一篇非常不錯的MongoDB數(shù)據(jù)庫詳細配置說明,這篇文章是非常的詳細的希望對各位朋友會帶來幫助。

啟動MongoDB有2種方式,一是直接指定配置參數(shù),二是指定配置文件。這里先介紹配置文件,啟動方式如下:

mongod --config /etc/mongodb.conf

配置如下:

verbose:日志信息冗余。默認false。提高內(nèi)部報告標(biāo)準輸出或記錄到logpath配置的日志文件中。要啟用verbose或啟用verbosity 用vvvv參數(shù),如:

verbose = true

vvvv = true

ps:啟動verbose冗長信息,它的級別有 vv~vvvvv,v越多級別越高,在日志文件中記錄的信息越詳細。

port:端口。默認27017,MongoDB的默認服務(wù)TCP端口,監(jiān)聽客戶端連接。要是端口設(shè)置小于1024,比如1021,則需要root權(quán)限啟動,不能用mongodb帳號啟動,(普通帳號即使是27017也起不來)否則報錯:[mongo --port=1021 連接]

ERROR: listen(): bind() failed errno:13 Permission denied for socket: 127.0.0.1:1021

port = 27017

bind_ip:綁定地址。默認127.0.0.1,只能通過本地連接。進程綁定和監(jiān)聽來自這個地址上的應(yīng)用連接。要是需要給其他服務(wù)器連接,則需要注釋掉這個或則把IP改成本機地址,如192.168.200.201[其他服務(wù)器用 mongo --host=192.168.200.201 連接] ,可以用一個逗號分隔的列表綁定多個IP地址。

bind_ip = 127.0.0.1

maxConns:最大連接數(shù)。默認值:取決于系統(tǒng)(即的ulimit和文件描述符)限制。MongoDB中不會限制其自身的連接。當(dāng)設(shè)置大于系統(tǒng)的限制,則無效,以系統(tǒng)限制為準。這對于客戶端創(chuàng)建很多“表”,允許連接超時而不關(guān)閉“表”的時候很有用。設(shè)置該值的高于連接池和總連接數(shù)的大小,以防止尖峰時候的連接。注意:不能設(shè)置該值大于20000。

maxConns = 100

objcheck:強制驗證客戶端請求。2.4的默認設(shè)置為objcheck成為true,在早期版本objcheck默認為false。因為它強制驗證客戶端請求,確保客戶端絕不插入無效文件到數(shù)據(jù)庫中。對于嵌套文檔的對象,會有一點性能影響。設(shè)置noobjcheck 關(guān)閉。

objcheck = true

#noobjcheck = false

noobjcheck:同上,默認關(guān)閉false。

#noobjcheck = false

logpath:指定日志文件,該文件將保存所有的日志記錄、診斷信息。除非另有指定,mongod將所有的日志信息輸出到標(biāo)準輸出。如果沒有指定logappend,重啟則日志會進行覆蓋操作。

logpath=/var/log/mongodb/mongodb.log

logappend:寫日志的模式:設(shè)置為true為追加。默認是覆蓋。如果未指定此設(shè)置,啟動時MongoDB的將覆蓋現(xiàn)有的日志文件。

logappend=true

syslog:日志輸出都發(fā)送到主機的syslog系統(tǒng),而不是標(biāo)準輸出到logpath指定日志文件。syslog和logpath不能一起用,會報錯:

Cant use both a logpath and syslog

syslog  = true

pidfilepath:進程ID,沒有指定則啟動時候就沒有PID文件。默認缺省。

pidfilepath = /var/run/mongo.pid

keyFile:指定存儲身份驗證信息的密鑰文件的路徑。默認缺省。詳情見:”

Replica Set Security” and “Replica Set Administration.”

keyFile = /srv/mongodb/keyfile

nounixsocket:套接字文件,默認為false,有生成socket文件。當(dāng)設(shè)置為true時,不會生成socket文件。

nounixsocket = false

unixSocketPrefix:套接字文件路徑,默認/tmp

unixSocketPrefix = /tmp

fork:是否后臺運行,設(shè)置為true 啟動 進程在后臺運行的守護進程模式。默認false。

fork = true

auth:用戶認證,默認false。不需要認證。當(dāng)設(shè)置為true時候,進入數(shù)據(jù)庫需要auth驗證,當(dāng)數(shù)據(jù)庫里沒有用戶,則不需要驗證也可以操作。直到創(chuàng)建了第一個用戶,之后操作都需要驗證。

auth = true

比如:通過db.addUser(‘sa’,'sa’)  在admin庫下面創(chuàng)建一個超級用戶,只能在在admin庫下面先認證完畢了:ab.auth(‘sa’,'sa’) ,才能去別的庫操作,不能在其他庫驗證。這樣連接數(shù)據(jù)庫也需要指定庫:

mongo -usa -psa admin     #sa 帳號連接admin

mongo -uaa -paa test      #aa 帳號連接test

noauth:禁止用戶認證,默認true。同上

noauth = true

cpu:設(shè)置為true會強制mongodb每4s報告cpu利用率和io等待,把日志信息寫到標(biāo)準輸出或日志文件。默認為false。

cpu = true

開啟日志會出現(xiàn):Mon Jun 10 10:21:42.241 [snapshotthread] cpu: elapsed:4000  writelock: 0%

dbpath:數(shù)據(jù)存放目錄。默認: /data/db/

dbpath=/var/lib/mongodb

diaglog:創(chuàng)建一個非常詳細的故障排除和各種錯誤的診斷日志記錄,默認0,設(shè)置為1,為在dbpath目錄里生成一個diaglog.開頭的日志文件,他的值如下:

  1. Value    Setting 
  2. 0    offNo logging.       #關(guān)閉。沒有記錄。 
  3. 1    Log write operations.  #寫操作 
  4. 2    Log read operations.   #讀操作 
  5. 3    Log both read and write operations. #讀寫操作 
  6. 7    Log write and some read operations. #寫和一些讀操作 

設(shè)置不等于0,日志會每分鐘flush 一次:

Mon Jun 10 11:16:17.504 [DataFileSync] flushing diag log

Mon Jun 10 11:17:17.442 [DataFileSync] flushing diag log

產(chǎn)生的日志可以用mongosniff 來查看:要是mongosniff[類似于tcpdump的作為一個MongoDB的特定的TCP/ IP網(wǎng)絡(luò)流量]出現(xiàn)報錯和具體用法,請見這里,之前先執(zhí)行:apt-get install libpcap-dev

root@m3:/var/lib/mongodb# mongosniff --source DIAGLOG diaglog.51b542a9

注意:當(dāng)重新設(shè)置成0,會停止寫入文件,但mongod還是繼續(xù)保持打開該文件,即使它不再寫入數(shù)據(jù)文件。如果你想重命名,移動或刪除診斷日志,你必須完全關(guān)閉mongod實例。

diaglog = 3

directoryperdb:設(shè)置為true,修改數(shù)據(jù)目錄存儲模式,每個數(shù)據(jù)庫的文件存儲在DBPATH指定目錄的不同的文件夾中。使用此選項,可以配置的MongoDB將數(shù)據(jù)存儲在不同的磁盤設(shè)備上,以提高寫入吞吐量或磁盤容量。默認為false。

注意:要是在運行一段時間的數(shù)據(jù)庫中,開啟該參數(shù),會導(dǎo)致原始的數(shù)據(jù)都會消失(注釋參數(shù)則會回來)。因為數(shù)據(jù)目錄都不同了,除非遷移現(xiàn)有的數(shù)據(jù)文件到directoryperdb產(chǎn)生的數(shù)據(jù)庫目錄中,如:

root@m3:/var/lib/mongodb# mv test.* test/

把test數(shù)據(jù)文件遷移到directoryperdb產(chǎn)生的數(shù)據(jù)庫test目錄中。 所以需要在規(guī)劃好之后確定是否要開啟。

directoryperdb = ture

原始數(shù)據(jù)結(jié)構(gòu):

  1. journal 
  2. mongod.lock 
  3. local.0 
  4. local.1 
  5. local.ns 
  6. test.0 
  7. test.1 
  8. test.ns 

開啟 directoryperdb,并把數(shù)據(jù)文件遷移到相關(guān)的數(shù)據(jù)目錄后的結(jié)構(gòu):

  1. journal 
  2. mongod.lock 
  3. local/local.0 
  4. local/local.1 
  5. local/local.ns 
  6. test/test.0 
  7. test/test.1 
  8. test/test.ns 

journal:日志.

默認值:在64位系統(tǒng),true.

默認值:32位系統(tǒng),false.

設(shè)置為true,啟用操作日志,以確保寫入持久性和數(shù)據(jù)的一致性,會在dbpath目錄下創(chuàng)建journal目錄.

設(shè)置為false,以防止日志持久性的情況下,并不需要開銷,為了減少磁盤上使用的日志的影響,您可以啟用nojournal,并設(shè)置為true.

注意:在64位系統(tǒng)上禁用日志必須使用帶有nojournal的。

  1. #journal=true 
  2. journal=false 
  3. 32位OS: 
  4.  
  5. Tue Jun 11 12:17:09.628 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary
  6. Tue Jun 11 12:17:09.628 [initandlisten] **       32 bit builds are limited to less than 2GB of data (or less with --journal). 
  7. 64位OS: 
  8.  
  9. Tue Jun 11 12:29:34 [initandlisten] journal dir=/var/lib/mongodb/journal  --Vevb.com 
  10. Tue Jun 11 12:29:34 [initandlisten] recover : no journal files present, no recovery needed 
  11. nojournal:禁止日志 
  12. 默認值:(在64位系統(tǒng))false。 
  13. 默認值:(32位系統(tǒng))true。 

設(shè)置nojournal為true關(guān)閉日志,64位,2.0版本后的mongodb默認是啟用 journal日志。

nojournal=true

journalCommitInterval:刷寫提交機制,默認是30ms或則100ms。較低的值,會更消耗磁盤的性能。

此選項接受2和300毫秒之間的值:

如果單塊設(shè)備提供日志和數(shù)據(jù)文件,默認的日記提交時間間隔為100毫秒。

如果不同的塊設(shè)備提供的日志和數(shù)據(jù)文件,默認的日記提交的時間間隔為30毫秒。

journalCommitInterval=100

ipv6:是否支持ipv6,默認false。

jsonp:是否允許JSONP訪問通過一個HTTP接口,默認false。

nohttpinterface:是否禁止http接口,即28017 端口開啟的服務(wù)。默認false,支持。

nohttpinterface = false

noprealloc:預(yù)分配方式。

默認false:使用預(yù)分配方式來保證寫入性能的穩(wěn)定,預(yù)分配在后臺進行,并且每個預(yù)分配的文件都用0進行填充。這會讓MongoDB始終保持額外的空間和空余的數(shù)據(jù)文件,從而避免了數(shù)據(jù)增長過快而帶來的分配磁盤空間引起的阻塞。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁寿县| 福清市| 特克斯县| 翼城县| 繁昌县| 且末县| 常熟市| 自贡市| 庄浪县| 黔江区| 乌拉特后旗| 静乐县| 裕民县| 耒阳市| 平邑县| 信丰县| 杂多县| 修武县| 平山县| 临朐县| 宜川县| 乐陵市| 上蔡县| 钟祥市| 塔河县| 台北市| 吴桥县| 驻马店市| 遂溪县| 南丰县| 太仆寺旗| 岫岩| 玉环县| 靖安县| 南宫市| 焦作市| 鹤峰县| 渝中区| 禄丰县| 永顺县| 武冈市|