MongoDB的安裝和配置


核心知識點:
1.啟動:./mongod --config /usr/local/mongdb/mongdb.conf
2.登陸:./mongo
3.關閉:use admin;db.shutdownServer()
若是改變了環境變量:(任何目錄下直接執行)
mongod --config /usr/local/mongdb/mongdb.conf
mongo
 
1.下載安裝包
下載方式:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.1.tgz

解壓縮壓縮包:

tar zvxf mongodb-linux-x86_64-amazon-3.6.1.tgz 

 

2. 安裝准備
創建數據庫文件夾與日志文件、配置文件:
mkdir -p  /usr/local/server/mongodb/data
touch /usr/local/server/mongodb/mongod.log
touch /usr/local/server/mongodb/mongodb.conf
將mongodb移動到/usr/local/server/mongdb文件夾:
mv mongodb-linux-x86_64-3.2.9/* /usr/local/server/mongodb/
 
3. 啟動mongodb(有兩種方式)
參數啟動:
參數啟動可以直接在命令后面加配置參數,也可以加配置文件啟動,如下加配置參數啟動:
cd /usr/local/server/mongodb/bin/mongod/bin/
./mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/mongod.log --logappend  --port=27017 --fork
注:如果加權限就用 --auth 參數,不需要權限就去掉
如果在配置文件中配置好各項參數,則可以使用配置文件啟動:
 ./mongod --config /usr/local/server/mongodb/mongodb.conf
-----------------------------------------配 置 文 件------------------------------------------

#啟用日志文件,默認啟用
journal=true

#這個選項可以過濾掉一些無用的日志信息,若需要調試使用請設置為false
quiet=false

# 日志文件位置
logpath=/usr/local/server/mongodb/logs

# 以追加方式寫入日志
logappend=true

# 是否以守護進程方式運行
fork = true

# 默認27017
port = 27017

# 數據庫文件位置
dbpath=/usr/local/server/mongodb/data

# 啟用定期記錄CPU利用率和 I/O 等待
#cpu = true

# 是否以安全認證方式運行,默認是不認證的非安全方式
#auth = true
#noauth = true

# 詳細記錄輸出
#verbose = true
# Inspect all client data for validity on receipt (useful for
# developing drivers)用於開發驅動程序時驗證客戶端請求
#objcheck = true
# Enable db quota management

# 啟用數據庫配額管理
#quota = true

# 設置oplog記錄等級
# Set oplogging level where n is
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#diaglog=0
# Diagnostic/debugging option 動態調試項
#nocursors = true
# Ignore query hints 忽略查詢提示
#nohints = true

# 禁用http界面,默認為localhost:28017
#nohttpinterface = true

# 關閉服務器端腳本,這將極大的限制功能
# Turns off server-side scripting.  This will result in greatly limited
# functionality
#noscripting = true

# 關閉掃描表,任何查詢將會是掃描失敗
# Turns off table scans.  Any query that would do a table scan fails.
#notablescan = true

# 關閉數據文件預分配
# Disable data file preallocation.
#noprealloc = true

# 為新數據庫指定.ns文件的大小,單位:MB
# Specify .ns file size for new databases.
# nssize = 
# Replication Options 復制選項
# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members

#指定存儲身份驗證信息的密鑰文件的路徑
#keyFile=/path/to/keyfile

----------------------------------------------------配 置 文 件----------------------------------------

MongoDB各配置參數詳細說明:

1、verbose:

日志信息冗余。默認false。提高內部報告標准輸出或記錄到logpath配置的日志文件中。要啟用verbose或啟用verbosity 用vvvv參數,

如:verbose = true



2.vvvv = true

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



3、port:

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

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

如:port = 27017



4、bind_ip:

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

如:bind_ip = 127.0.0.1



5、maxConns:

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

如:maxConns = 100



6、objcheck:

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

如:objcheck = true

7、noobjcheck:

同上,默認關閉false。

如:noobjcheck = false



8、logpath:

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

如:logpath=/var/log/mongodb/mongodb.log



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

如:logappend=true



10、syslog:日志輸出都發送到主機的syslog系統,而不是標准輸出到logpath指定日志文件。syslog和logpath不能一起用,會報錯:Cant use both a logpath and syslog

如:syslog  = true



11、pidfilepath:

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

如:pidfilepath = /var/run/mongo.pid



12、keyFile:
指定存儲身份驗證信息的密鑰文件的路徑。默認缺省。詳情見:"
word-spacing: 0px; display: inline; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; background- color: #ffffff; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Replica Set Security" and “Replica Set Administration.”
如:.keyFile = /srv/mongodb/keyfile


13、nounixsocket:

套接字文件,默認為false,有生成socket文件。當設置為true時,不會生成socket文件。
如:nounixsocket = false

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

如:unixSocketPrefix = /tmp



14、fork:

是否后台運行,設置為true 啟動 進程在后台運行的守護進程模式。默認false。

如:fork = true



15、auth:

用戶認證,默認false。不需要認證。當設置為true時候,進入數據庫需要auth驗證,當數據庫里沒有用戶,則不需要驗證也可以操作。直到創建了第一個用戶,之后操作都需要驗證。

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

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

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

如:auth = true



16、noauth:

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

如:noauth = true



17、cpu:

設置為true會強制mongodb每4s報告cpu利用率和io等待,把日志信息寫到標准輸出或日志文件。默認為false。

開啟日志會出現:

1.Mon Jun 10 10:21:42.241 [snapshotthread] cpu: elapsed:4000  writelock: 0%

如:cpu = true



18、dbpath:

數據存放目錄。默認: word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; background-color: #ffffff; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">/data/db/

如:dbpath=/var/lib/mongodb



19、diaglog:

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

1.Value    Setting
2.0    off. No logging.       #關閉。沒有記錄。
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. #寫和一些讀操作

設置不等於0,日志會每分鍾flush 一次:

1.Mon Jun 10 11:16:17.504 [DataFileSync] flushing diag log
2.Mon Jun 10 11:17:17.442 [DataFileSync] flushing diag log

產生的日志可以用mongosniff 來查看:要是mongosniff[類似於tcpdump的作為一個MongoDB的特定的TCP/ IP網絡流量]出現報錯和具體用法,請見這里,之前先執行:apt-get install libpcap-dev

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

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

如:diaglog = 3



20、directoryperdb:

設置為true,修改數據目錄存儲模式,每個數據庫的文件存儲在DBPATH指定目錄的不同的文件夾中。使用此選項,可以配置的MongoDB將數據存儲在不同的磁盤設備上,以提高寫入吞吐量或磁盤容量。默認為false。
注意:要是在運行一段時間的數據庫中,開啟該參數,會導致原始的數據都會消失(注釋參數則會回來)。因為數據目錄都不同了,除非遷移現有的數據文件到directoryperdb產生的數據庫目錄中,如:
root@m3:/var/lib/mongodb# mv test.* test/
把test數據文件遷移到directoryperdb產生的數據庫test目錄中。 所以需要在規划好之后確定是否要開啟。

01.原始數據結構:
02.journal
03.mongod.lock
04.local.0
05.local.1
06.local.ns
07.test.0
08.test.1
09.test.ns
10.
11.開啟 directoryperdb,並把數據文件遷移到相關的數據目錄后的結構:
12.
13.journal
14.mongod.lock
15.local/local.0
16.local/local.1
17.local/local.ns
18.test/test.0
19.test/test.1
20.test/test.ns

如:directoryperdb = ture



21、journal:

日志,(redo log,更多的介紹請看這里和這里)
默認值:(在64位系統)true。
默認值:(32位系統)false。
設置為true,啟用操作日志,以確保寫入持久性和數據的一致性,會在dbpath目錄下創建journal目錄。
設置為false,以防止日志持久性的情況下,並不需要開銷。為了減少磁盤上使用的日志的影響,您可以啟用nojournal,並設置為true。
注意:在64位系統上禁用日志必須使用帶有nojournal的。

1.#journal=true
2.journal=false

32位OS:

1.Tue Jun 11 12:17:09.628 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
2.Tue Jun 11 12:17:09.628 [initandlisten] **       32 bit builds are limited to less than 2GB of data (or less with --journal).

64位OS:

1.Tue Jun 11 12:29:34 [initandlisten] journal dir=/var/lib/mongodb/journal
2.Tue Jun 11 12:29:34 [initandlisten] recover : no journal files present, no recovery needed



22、nojournal:

禁止日志

默認值:(在64位系統)false。
默認值:(32位系統)true。
設置nojournal為true關閉日志,64位,2.0版本后的mongodb默認是啟用 journal日志。

如:nojournal=true



23、journalCommitInterval:

刷寫提交機制,默認是30ms或則100ms。較低的值,會更消耗磁盤的性能。
此選項接受2和300毫秒之間的值:
如果單塊設備提供日志和數據文件,默認的日記提交時間間隔為100毫秒。
如果不同的塊設備提供的日志和數據文件,默認的日記提交的時間間隔為30毫秒。

如:journalCommitInterval=100



24、ipv6:

是否支持ipv6,默認false。



25、jsonp:

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



26、nohttpinterface:

是否禁止http接口,即28017 端口開啟的服務。默認false,支持。

如:nohttpinterface = false



27、noprealloc:

預分配方式。
默認false:使用預分配方式來保證寫入性能的穩定,預分配在后台進行,並且每個預分配的文件都用0進行填充。這會讓MongoDB始終保持額外的空間和空余的數據文件,從而避免了數據增長過快而帶來的分配磁盤空間引起的阻塞。
設置noprealloc= true來禁用預分配的數據文件,會縮短啟動時間,但在正常操作過程中,可能會導致性能顯著下降。

如:noprealloc = false



28、noscripting:

是否禁止腳本引擎。默認是false:不禁止。ture:禁止
要是設置成true:運行一些腳本的時候會出現:

1.JavaScript execution failed: group command failed: { "ok" : 0, "errmsg" : "server-side JavaScript execution is disabled" }

1.#noscripting = true     <====> noscripting = false

notablescan:是否禁止表掃描操作。默認false:不禁止,ture:禁止

禁止要是執行表掃描會出現:

1.error: { "$err" : "table scans not allowed:test.emp", "code" : 10111 }

可以動態修改設置:

1.db.adminCommand({setParameter:1, notablescan:false})

1.#notablescan = true  <====> notablescan = false



29、nssize:

命名空間的文件(即NS)的默認大小,默認16M,最大2G。
所有新創建的默認大小命名空間的文件(即NS)。此選項不會影響現有的命名空間的文件的大小。默認值是16M字節,最大大小為2 GB。讓小數據庫不讓浪費太多的磁盤空間,同時讓大數據在磁盤上有連續的空間。

1.-rwxrwxrwx 1 mongodb zhoujy  16M  6月 11 14:44 test.0
2.-rwxrwxrwx 1 mongodb zhoujy  32M  6月  1 21:36 test.1
3.-rwxrwxrwx 1 mongodb zhoujy  16M  6月 11 14:44 test.ns
4.drwxr-xr-x 2 root    root   4.0K  6月 10 11:57 _tmp

如:nssize  = 16



30、profile:

數據庫分析等級設置。記錄一些操作性能到標准輸出或則指定的logpath的日志文件中,默認0:關閉。

1.級別 設置
2.0 關。無分析。
3.1 開。僅包括慢操作。
4.2 開。包括所有操作。

控制 Profiling  的開關和級別:2種
第一種是直接在啟動參數里直接進行設置或則啟動MongoDB時加上–profile=級別,其信息保存在 生成的system.profile 中。

如:profile = 2

第二種是在客戶端用db.setProfilingLevel(級別)命令來實時配置,其信息保存在 生成的system.profile 中。

1.[initandlisten] creating profile collection: local.system.profile

1.> db.setProfilingLevel(2)
2.{ "was" : 0, "slowms" : 100, "ok" : 1 }
3.> db.getProfilingStatus()
4.{ "was" : 2, "slowms" : 100 }

默認情況下,mongod的禁用分析。數據庫分析可以影響數據庫的性能,因為分析器必須記錄和處理所有的數據庫操作。所以在需要的時候用動態修改就可以了。



31、slowms:

記錄profile分析的慢查詢的時間,默認是100毫秒。具體同上。

1.slowms  = 200

1.> db.getProfilingStatus()
2.{ "was" : 2, "slowms" : 200 }



32、quota:

配額,默認false。是否開啟配置每個數據庫的最多文件數的限制。當為true則用quotaFiles來配置最多文件的數量。

如:quota = true



33、quotaFiles:

配額數量。每個數據庫的數據文件數量的限制。此選項需要quota為true。默認為8。

如:quotaFiles = 8



34、rest:

默認false,設置為true,使一個簡單的 REST API。

如:rest = true

設置為true,開啟后,在MongoDB默認會開啟一個HTTP協議的端口提供REST的服務(nohttpinterface = false),這個端口是你Server端口加上1000,即28017,默認的HTTP端口是數據庫狀態頁面,(開啟后,web頁面的Commands 行中的命令都可以點進去)。mongodb自帶的REST,不支持 增、刪、改,同時也不支持 權限認證。
詳細信息見這里和這里。


35、repair:

修復數據庫操作,默認是false。
設置為true時,啟動后修復所有數據庫,設置這個選項最好在命令行上,而不是在配置文件或控制腳本。如:
命令行修復:

1.> db.repairDatabase('xxx')
2.{ "ok" : 1 }
3.> db.repairDatabase()
4.{ "ok" : 1 }

啟動時修復:

1.repair = true

1.root@m3:/var/log/mongodb# mongod --repair

啟動時修復,需要關閉journal,否則報錯:

1.Can't specify both --journal and --repair options.

並且啟動時,用控制文件指定參數和配置文件里指定參數的方式進行修復之后,(修復信息見log),需要再禁用repair參數才能啟用mongodb。
注意:mongod修復時,需要重寫所有的數據庫文件。如果在同一個帳號下不能運行修復,則需要運行chown修改數據庫文件的權限。

repairpath:修復路徑,默認是在dbpath路徑下的_tmp 目錄。

1.drwxr-xr-x 2 root    root   4.0K  6月 11 20:23 _tmp



36、smallfiles:

是否使用較小的默認文件。默認為false,不使用。
設置為true,使用較小的默認數據文件大小。smallfiles減少數據文件的初始大小,並限制他們到512M,也減少了日志文件的大小,並限制他們到128M。
如果數據庫很大,各持有少量的數據,會導致mongodb創建很多文件,會影響性能。

如:smallfiles = true



37、syncdelay:

刷寫數據到日志的頻率,通過fsync操作數據。默認60秒。

如:syncdelay = 60

默認就可以,不需要設置。不會對日志文件(journal files)有影響

警告:如果設置為0,SYNCDELAY 不會同步到磁盤的內存映射文件。在生產系統上,不要設置這個值。



38、sysinfo:

系統信息,默認false。

設置為true,mongod會診斷系統有關的頁面大小,數量的物理頁面,可用物理??頁面的數量輸出到標准輸出。

1.Tue Jun 11 21:07:15.031 sysinfo:
2.Tue Jun 11 21:07:15.035   page size: 4096
3.Tue Jun 11 21:07:15.035   _SC_PHYS_PAGES: 256318
4.Tue Jun 11 21:07:15.035   _SC_AVPHYS_PAGES: 19895

當開啟sysinfo參數的時候,只會打印上面的信息,不會啟動mongodb的程序。所以要關閉該參數,才能開啟mongodb。



39、upgrade:

升級。默認為false。
當設置為true,指定DBPATH,升級磁盤上的數據格式的文件到最新版本。會影響數據庫操作,更新元數據。大部分情況下,不需要設置該值。

traceExceptions:是否使用內部診斷。默認false。

如:traceExceptions = false



40、quiet:

安靜模式。

如:quiet = true



41、setParameter:

2.4的新參數,指定啟動選項配置。想設置多個選項則用一個setParameter選項指定,可以setParameter的參數請見這里,詳情請見這里
聲明setParameter設置在這個文件中,使用下面的格式:

如:setParameter = <parameter>=<value>

如配置文件里設置syncdelay:

1.setParameter = syncdelay= 55,notablescan = true,journalCommitInterval = 50,traceExceptions = true
Replication Options  復制選項



42、replSet:

使用此設置來配置復制副本集。指定一個副本集名稱作為參數,所有主機都必須有相同的名稱作為同一個副本集。



43、oplogSize:

指定的復制操作日志(OPLOG)的最大大小。mongod創建一個OPLOG的大小基於最大可用空間量。對於64位系統,OPLOG通常是5%的可用磁盤空間。
一旦mongod第一次創建OPLOG,改變oplogSize將不會影響OPLOG的大小。



44、fastsync:

默認為false。在副本集下,設置為true,從一個dbpath里啟用從庫復制服務,該dbpath的數據庫是主庫的快照,可用於快速啟用同步,否則的mongod將嘗試執行初始同步。注意:如果數據不完全同步,mongod指定fastsync開啟,secondary或slave與主永久不同步,這可能會導致顯着的一致性問題。



45、replIndexPrefetch:

2.2版本出現的新參數,默認是all。可以設置的值有:all, none, and _id_only。只能在副本集(replSet)中使用。默認情況下,secondary副本集的成員將加載所有索引到內存中(從OPLOG之前的操作有關的)。您可以修改此行為,使secondary只會加載_id索引。指定_id_或none,防止mongod的任何索引加載到內存。



46、Master/Slave Replication:主從復制的相關設置

master:默認為false,當設置為true,則配置當前實例作為主實例。

如:master = true



47、slave:

默認為false,當設置為true,則配置當前實例作為從實例。

如:slave = true



48、source:

默認為空,格式為:<host><:port>。用於從實例的復制:設置從的時候指定該選項會讓從復制指定主的實例

如:source = 127.0.0.1:30001



49、only:

默認為空,用於從選項,指定一個數據庫進行復制。

如:only = abc          #只同步abc集合(庫)



50、slavedelay:

設置從庫同步主庫的延遲時間,用於從設置,默認為0。

如:slavedelay = 60     #延遲60s同步主數據



51、autoresync:

默認為false,用於從設置。是否自動重新同步。設置為true,如果落后主超過10秒,會強制從自動重新同步。如果oplogSize太小,此設置可能有問題。如果OPLOG大小不足以存儲主的變化狀態和從的狀態變化之間的差異,這種情況下強制重新同步是不必要的。當設置autoresync選項設置為false,10分鍾內從不會進行大於1次的自動重新同步。
mongodb配置文件詳解
 
系統服務啟動:
使用系統服務命令啟動需要先將服務加入到系統服務中
MongoDB安裝之后,每次都需要運行命令加參數來啟動,不便於管理,這里可以將其添加到系統服務,方法如下:
1、創建文件
linux系統服務啟動文件都存放在  /etc/init.d/ 下面,service mongod start 這樣的命令是通過運行該目錄下的腳本實現管理的,所以需要創建一個腳本文件mongod並修改讀寫權限
>touch mongod
>chmod 755 mongod 
另外還需要用到一個文件來保存服務pid,service mongod stop 命令就是通過這個文件讀取服務pid的,可以建立在MongoDB的安裝目錄下面,
>cd /usr/local/server/mongodb/
>touch mongod.pid
>chmod 755 mongod.pid
2、編寫mongod腳本,以下為編寫好的腳本示例:

##--------------------------------------------------------
#!/bin/bash     
#chkconfig:35 23 34   
#description: MongoDB  service
#set -x

if [ -f  /etc/init.d/functions ] ; then
##載入functions,. 在這里相當於source的功能
. /etc/init.d/functions     
fi

##服務名,會多處調用
prog=mongod  

##狀態返回值,functions 函數會調用這個值
RETVAL=0  

mongod=/usr/local/server/mongodb/bin/mongod
MONGODB_CONF_FILE=/usr/local/server/mongodb/mongodb.conf
lockfile=/var/lock/subsys/${prog}                          ##subsys目錄下的文件是用於給其他程序判斷服務的實例運行狀態的
pidfile=/usr/local/server/mongodb/mongod.pid
 
start() {
      echo  -n $"Starting $prog: "
      daemon $mongod  --config $MONGODB_CONF_FILE ##daemon調用后面的命令執行情況
  pgrep mongod>${pidfile}                     ##寫入pid到pidfile
      RETVAL=$?
      echo 
      [ $RETVAL  -eq  0  ] &&  touch ${lockfile}
      return $RETVAL
}

stop () {
      echo  -n $"Stopping $prog: "
      killproc -p ${pidfile}    ##killproc 從pidfile 獲取到pid,並殺死
      RETVAL=$?
      echo 
      [ $RETVAL  -eq  0  ] &&  /bin/rm -f ${lockfile}
      return $RETVAL
}
 
 
case $1 in 
start) 
start
;;

stop)
stop
;;

restart)
stop
start
;;

*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
;;
esac

exit $?
##-------------------------------------------------------------------

3、通過這個腳本就可以實現系統服務啟動、關閉、重啟mongod服務了,然后我們可以讓他開機啟動:
>chkconfig mongod on
將Mongodb添加到系統服務
service mongod start|stop|restart
注:可以將mongodb臨時加入系統路徑變量中,這樣可以不用輸入路徑直接啟動,代碼如下:
export PATH=/usr/local/server/mongodb/bin:$PATH
然后可以查看是否成功:echo $PATH
 
4. 參數解釋:
--dbpath 數據庫路徑(數據文件)
--logpath 日志文件路徑
--master 指定為主機器
--slave 指定為從機器
--source 指定主機器的IP地址
--pologSize 指定日志文件大小不超過64M.因為resync是非常操作量大且耗時,最好通過設置一個足夠大的oplogSize來避免resync(默認的 oplog大小是空閑磁盤大小的5%)。
--logappend 日志文件末尾添加
--port 啟用端口號
--fork 在后台運行
--only 指定只復制哪一個數據庫
--slavedelay 指從復制檢測的時間間隔
--auth 是否需要驗證權限登錄(用戶名和密碼)
--config 配置文件位置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM