網(wǎng)站二次開(kāi)發(fā)模板搜索引擎廣告推廣
MongoDB命令:
- mongod
- mongos
- mongo
- perror
- mongoexport
- mongofiles
- mongoimport
- mongorestore
- Mongostat
MongoDB包中的核心組件包括:
- mongod 是 MongoDB 的核心服務(wù)器進(jìn)程,負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和管理。
- mongos 是分片集群的路由進(jìn)程,負(fù)責(zé)將請(qǐng)求路由到正確的分片并聚合結(jié)果。
- mongo 是 MongoDB 的交互式 shell,用于與數(shù)據(jù)庫(kù)進(jìn)行交互和管理。(6.0之后安裝包就默認(rèn)不包含這個(gè)了,由mongosh取代了mongo,并且需要自己額外下載一個(gè)mongodb shell)
下面是 MongoDB 啟動(dòng)時(shí)可以配置的命令行參數(shù),用于調(diào)整其行為、性能、安全性等方面。下面對(duì)各個(gè)選項(xiàng)進(jìn)行解釋:
mongod:
首先,我們來(lái)看通用選項(xiàng):
-
-h [ --help ]
:這個(gè)選項(xiàng)非常直觀,用于顯示幫助信息。當(dāng)你不確定某個(gè)命令的作用時(shí),這個(gè)選項(xiàng)可以提供詳細(xì)的使用說(shuō)明。 -
--version
:這個(gè)選項(xiàng)用于顯示程序的版本信息,有助于確認(rèn)你正在使用的是哪個(gè)版本,特別是在需要特定功能或進(jìn)行故障排除時(shí)。 -
-f [ --config ] arg
:這個(gè)選項(xiàng)允許你指定一個(gè)配置文件。配置文件中可以包含其他命令行選項(xiàng),這樣就不必每次都手動(dòng)輸入這些選項(xiàng),非常方便。 -
-v [ --verbose ] [=arg(=v)]
:這個(gè)選項(xiàng)用于增加輸出的詳細(xì)程度。你可以多次使用這個(gè)選項(xiàng)(如-vvvvv
)來(lái)獲得更詳細(xì)的輸出,這對(duì)于調(diào)試或了解程序的內(nèi)部工作非常有幫助。 -
--quiet
:與--verbose
相反,這個(gè)選項(xiàng)減少輸出,使程序運(yùn)行時(shí)更加安靜。在不需要詳細(xì)日志的情況下,這個(gè)選項(xiàng)非常有用。 -
--port arg
:這個(gè)選項(xiàng)用于指定程序監(jiān)聽(tīng)的端口號(hào)。默認(rèn)端口是27017,但你可以根據(jù)需要進(jìn)行更改,特別是在有端口沖突或運(yùn)行多個(gè)實(shí)例時(shí)。 -
--bind_ip arg
:這個(gè)選項(xiàng)允許你指定一個(gè)或多個(gè)IP地址,程序?qū)⒅槐O(jiān)聽(tīng)這些IP地址的連接。默認(rèn)情況下,它只監(jiān)聽(tīng)localhost,這對(duì)于提高安全性非常有幫助。 -
--bind_ip_all
:這個(gè)選項(xiàng)使程序綁定到所有可用的IP地址。這在你希望程序接受來(lái)自任何網(wǎng)絡(luò)接口的連接時(shí)非常有用,但也意味著程序?qū)λ芯W(wǎng)絡(luò)都是可見(jiàn)的,因此需要謹(jǐn)慎使用。 -
--ipv6
:這個(gè)選項(xiàng)用于啟用IPv6支持。默認(rèn)情況下,IPv6是禁用的,但如果你的網(wǎng)絡(luò)環(huán)境需要IPv6,這個(gè)選項(xiàng)可以確保程序正確地處理IPv6地址。 -
--listenBacklog arg (=2147483647)
:這個(gè)選項(xiàng)設(shè)置socket監(jiān)聽(tīng)隊(duì)列的大小。它決定了在連接被接受之前,可以有多少連接請(qǐng)求等待。默認(rèn)值非常大,這在大多數(shù)情況下是合適的,但在資源受限的系統(tǒng)上可能需要調(diào)整。 -
--maxConns arg
:這個(gè)選項(xiàng)設(shè)置程序可以同時(shí)處理的最大連接數(shù)。默認(rèn)值是1,000,000,這在大多數(shù)情況下已經(jīng)足夠,但在高流量環(huán)境中可能需要調(diào)整。 -
--logpath arg
:這個(gè)選項(xiàng)指定日志文件的路徑。而不是將日志輸出到標(biāo)準(zhǔn)輸出,程序?qū)⑷罩緦懭胫付ǖ奈募?#xff0c;這對(duì)于生產(chǎn)環(huán)境中的日志記錄非常有用。 -
--logappend
:這個(gè)選項(xiàng)使程序?qū)⑷罩咀芳拥街付ǖ娜罩疚募?#xff0c;而不是每次覆蓋它。這確保了日志的連續(xù)性,有助于故障排除和審查。 -
--logRotate arg
:這個(gè)選項(xiàng)設(shè)置日志輪換的行為。你可以選擇rename
或reopen
,這決定了當(dāng)日志文件達(dá)到一定大小或在重新啟動(dòng)時(shí)如何處理日志文件。 -
--timeStampFormat arg
:這個(gè)選項(xiàng)允許你選擇日志消息中時(shí)間戳的格式。選項(xiàng)有ctime
、iso8601-utc
或iso8601-local
,這有助于根據(jù)你的時(shí)區(qū)或格式偏好來(lái)解析日志。 -
--pidfilepath arg
:這個(gè)選項(xiàng)指定PID文件的完整路徑。PID文件用于跟蹤主進(jìn)程的進(jìn)程ID,這對(duì)于管理程序的生命周期非常有用,特別是在使用init系統(tǒng)時(shí)。 -
--timeZoneInfo arg
:這個(gè)選項(xiàng)指定時(shí)區(qū)信息的完整路徑,例如/usr/share/zoneinfo
。這確保了程序使用正確的時(shí)區(qū)數(shù)據(jù),特別是在處理時(shí)間相關(guān)的功能時(shí)。 -
--keyFile arg
:這個(gè)選項(xiàng)用于指定用于集群身份驗(yàn)證的私鑰文件。它對(duì)于確保集群內(nèi)部的安全通信至關(guān)重要,特別是在生產(chǎn)環(huán)境中。 -
--noauth
:這個(gè)選項(xiàng)使程序在沒(méi)有安全身份驗(yàn)證的情況下運(yùn)行。雖然這在開(kāi)發(fā)或測(cè)試環(huán)境中可能方便,但在生產(chǎn)環(huán)境中不建議使用,因?yàn)樗鼤?huì)降低安全性。 -
--setParameter arg
:這個(gè)選項(xiàng)允許你設(shè)置一個(gè)可配置的參數(shù)。這可以包括各種內(nèi)部設(shè)置,具體取決于程序的配置選項(xiàng)。 -
--transitionToAuth
:這個(gè)選項(xiàng)用于在滾動(dòng)升級(jí)過(guò)程中身份驗(yàn)證。它嘗試在出站連接上進(jìn)行身份驗(yàn)證,并且無(wú)論成功與否都繼續(xù)進(jìn)行,同時(shí)接受帶有或不帶有身份驗(yàn)證的傳入連接。 -
--clusterAuthMode arg
:這個(gè)選項(xiàng)設(shè)置用于集群身份驗(yàn)證的模式。選項(xiàng)包括keyFile
、sendKeyFile
、sendX509
或x509
,具體取決于你希望使用的安全方法。 -
--networkMessageCompressors [=arg(=disabled)] (=snappy)
:這個(gè)選項(xiàng)指定用于網(wǎng)絡(luò)消息的壓縮器。默認(rèn)情況下,它使用snappy
進(jìn)行壓縮,但你可以根據(jù)需要禁用它或選擇其他壓縮器。 -
--auth
:這個(gè)選項(xiàng)使程序在有安全身份驗(yàn)證的情況下運(yùn)行。它確保只有經(jīng)過(guò)身份驗(yàn)證的用戶才能訪問(wèn)程序,這對(duì)于生產(chǎn)環(huán)境中的安全至關(guān)重要。 -
--clusterIpSourceWhitelist arg
:這個(gè)選項(xiàng)指定一個(gè)網(wǎng)絡(luò)CIDR,定義了允許對(duì)__system
進(jìn)行訪問(wèn)的源。這是一個(gè)安全措施,確保只有可信的網(wǎng)絡(luò)可以進(jìn)行某些管理操作。 -
--slowms arg (=100)
:這個(gè)選項(xiàng)設(shè)置被認(rèn)為是慢操作的閾值(以毫秒為單位)。慢操作將被記錄在日志中,這對(duì)于性能監(jiān)控和優(yōu)化非常有用。 -
--slowOpSampleRate arg (=1)
:這個(gè)選項(xiàng)設(shè)置慢操作被包含在日志中的頻率。默認(rèn)情況下,所有慢操作都會(huì)被記錄,但你可以根據(jù)需要進(jìn)行調(diào)整以減少日志的詳細(xì)程度。 -
--profile arg
:這個(gè)選項(xiàng)設(shè)置剖析級(jí)別。你可以將其設(shè)置為0
(關(guān)閉)、1
(僅慢操作)或2
(所有操作)。剖析有助于識(shí)別性能瓶頸。 -
--cpu
:這個(gè)選項(xiàng)使程序定期顯示CPU和IO等待利用率。這有助于監(jiān)控程序的性能。 -
--sysinfo
:這個(gè)選項(xiàng)打印一些診斷系統(tǒng)信息。它可以在故障排除或了解系統(tǒng)狀態(tài)時(shí)提供幫助。 -
--noIndexBuildRetry
:這個(gè)選項(xiàng)防止程序重新嘗試因關(guān)閉而中斷的索引構(gòu)建。這在你希望管理索引構(gòu)建過(guò)程時(shí)非常有用。 -
--noscripting
:這個(gè)選項(xiàng)禁用腳本引擎。如果不需要腳本功能,禁用它可以提高性能。 -
--notablescan
:這個(gè)選項(xiàng)防止表掃描。如果希望強(qiáng)制使用索引以提高查詢性能,這非常有用。
接下來(lái)是Windows服務(wù)控制管理器選項(xiàng):
-
--install
:這個(gè)選項(xiàng)將程序安裝為Windows服務(wù)。它在你希望程序作為服務(wù)在后臺(tái)運(yùn)行時(shí)非常有用。 -
--remove
:這個(gè)選項(xiàng)從系統(tǒng)中移除安裝的Windows服務(wù)。它在你不再需要服務(wù)或需要更新它時(shí)非常有用。 -
--reinstall
:這個(gè)選項(xiàng)重新安裝Windows服務(wù)。它相當(dāng)于先移除再安裝,確保服務(wù)的配置是最新的。 -
--serviceName arg
:這個(gè)選項(xiàng)指定安裝的Windows服務(wù)的名稱。它有助于識(shí)別和管理多個(gè)服務(wù)。 -
--serviceDisplayName arg
:這個(gè)選項(xiàng)設(shè)置服務(wù)的顯示名稱。它在用戶界面中更易讀,有助于識(shí)別服務(wù)。 -
--serviceDescription arg
:這個(gè)選項(xiàng)提供服務(wù)的描述。它有助于解釋服務(wù)的作用,特別是在管理控制臺(tái)中。 -
--serviceUser arg
:這個(gè)選項(xiàng)指定服務(wù)執(zhí)行的用戶賬戶。它需要具有運(yùn)行服務(wù)所需的適當(dāng)權(quán)限。 -
--servicePassword arg
:這個(gè)選項(xiàng)指定用于身份驗(yàn)證serviceUser
的密碼。它確保服務(wù)可以正確地進(jìn)行身份驗(yàn)證。
現(xiàn)在是復(fù)制選項(xiàng):
--oplogSize arg
:這個(gè)選項(xiàng)設(shè)置復(fù)制操作日志的大小(以MB為單位)。操作日志用于在副本集成員之間同步數(shù)據(jù)。默認(rèn)情況下,它是磁盤空間的5%,但你可以根據(jù)需要進(jìn)行調(diào)整。
接下來(lái)是主從復(fù)制選項(xiàng)(已棄用,建議使用副本集):
-
--master
:這個(gè)選項(xiàng)使程序在主模式下運(yùn)行。主服務(wù)器可以接受寫操作,并將這些操作復(fù)制到從服務(wù)器。 -
--slave
:這個(gè)選項(xiàng)使程序在從模式下運(yùn)行。從服務(wù)器復(fù)制主服務(wù)器的操作,但不接受寫操作。 -
--source arg
:這個(gè)選項(xiàng)指定主服務(wù)器的地址(<server:port>
),從服務(wù)器應(yīng)從該地址復(fù)制數(shù)據(jù)。 -
--only arg
:這個(gè)選項(xiàng)指定從服務(wù)器應(yīng)復(fù)制的單個(gè)數(shù)據(jù)庫(kù)。它限制了復(fù)制到特定的數(shù)據(jù)集。 -
--slavedelay arg
:這個(gè)選項(xiàng)設(shè)置從服務(wù)器應(yīng)用主服務(wù)器操作的延遲(以秒為單位)。它有助于減輕主服務(wù)器的負(fù)載或管理數(shù)據(jù)的延遲。 -
--autoresync
:這個(gè)選項(xiàng)使從服務(wù)器在數(shù)據(jù)過(guò)時(shí)或與主服務(wù)器不同步時(shí)自動(dòng)重新同步。它確保從服務(wù)器保持最新的數(shù)據(jù)。
接下來(lái)是副本集選項(xiàng):
-
--replSet arg
:這個(gè)選項(xiàng)指定副本集的名稱和可選的種子主機(jī)列表。副本集是一組維護(hù)相同數(shù)據(jù)集的服務(wù)器,提供高可用性和數(shù)據(jù)冗余。 -
--replIndexPrefetch arg
:這個(gè)選項(xiàng)設(shè)置索引預(yù)取行為。選項(xiàng)包括none
、_id_only
或all
,影響副本集成員如何預(yù)取索引以提高性能。 -
--enableMajorityReadConcern [=arg(=1)]
:這個(gè)選項(xiàng)啟用多數(shù)讀關(guān)注。它確保讀操作反映了大多數(shù)副本集成員的寫操作,提供了強(qiáng)一致性。
接下來(lái)是分片選項(xiàng):
-
--configsvr
:這個(gè)選項(xiàng)聲明程序是分片集群的配置服務(wù)器。它使用默認(rèn)端口27019,并將數(shù)據(jù)存儲(chǔ)在/data/configdb
中。 -
--shardsvr
:這個(gè)選項(xiàng)聲明程序是分片集群的分片服務(wù)器。它使用默認(rèn)端口27018,并處理分片數(shù)據(jù)。
現(xiàn)在是SSL選項(xiàng):
-
--sslOnNormalPorts
:這個(gè)選項(xiàng)在配置的端口上使用SSL。它確保數(shù)據(jù)在傳輸過(guò)程中加密,提高了通信的安全性。 -
--sslMode arg
:這個(gè)選項(xiàng)設(shè)置SSL操作模式。選項(xiàng)包括disabled
、allowSSL
、preferSSL
或requireSSL
,具體取決于你的安全要求。 -
--sslPEMKeyFile arg
:這個(gè)選項(xiàng)指定包含SSL證書(shū)和私鑰的PEM文件。它用于服務(wù)器的SSL身份驗(yàn)證。 -
--sslPEMKeyPassword arg
:這個(gè)選項(xiàng)指定PEM文件的密碼。它確保PEM文件的訪問(wèn)是安全的。 -
--sslClusterFile arg
:這個(gè)選項(xiàng)用于內(nèi)部SSL身份驗(yàn)證的密鑰文件。它確保集群內(nèi)部的通信是安全的。 -
--sslClusterPassword arg
:這個(gè)選項(xiàng)指定用于身份驗(yàn)證sslClusterFile
的密碼。它確保只有具有正確密碼的服務(wù)器才能加入集群。 -
--sslCAFile arg
:這個(gè)選項(xiàng)指定用于SSL的證書(shū)頒發(fā)機(jī)構(gòu)(CA)文件。它用于驗(yàn)證服務(wù)器的SSL證書(shū)。 -
--sslClusterCAFile arg
:這個(gè)選項(xiàng)指定用于驗(yàn)證遠(yuǎn)程服務(wù)器的CA,適用于出站連接。它確保連接到的服務(wù)器是可信的。 -
--sslCRLFile arg
:這個(gè)選項(xiàng)指定SSL證書(shū)吊銷列表(CRL)文件。它用于確保不會(huì)接受已吊銷的證書(shū)。 -
--sslDisabledProtocols arg
:這個(gè)選項(xiàng)指定要禁用的TLS協(xié)議的逗號(hào)分列表(例如TLS1_0,TLS1_1,TLS1_2
)。它有助于強(qiáng)制使用更安全的協(xié)議。 -
--sslWeakCertificateValidation
:這個(gè)選項(xiàng)允許服務(wù)器在沒(méi)有有效證書(shū)的情況下連接,但不建議用于生產(chǎn)環(huán)境,因?yàn)樗鼤?huì)降低安全性。 -
--sslAllowConnectionsWithoutCertificates
:這個(gè)選項(xiàng)允許沒(méi)有證書(shū)的連接,但不建議用于生產(chǎn)環(huán)境,因?yàn)樗鼤?huì)降低安全性。 -
--sslAllowInvalidHostnames
:這個(gè)選項(xiàng)允許服務(wù)器證書(shū)提供不匹配的主機(jī)名,但不建議用于生產(chǎn)環(huán)境,因?yàn)樗鼤?huì)降低安全性。 -
--sslAllowInvalidCertificates
:這個(gè)選項(xiàng)允許連接到具有無(wú)效證書(shū)的服務(wù)器,但不建議用于生產(chǎn)環(huán)境,因?yàn)樗鼤?huì)降低安全性。 -
--sslFIPSMode
:這個(gè)選項(xiàng)在啟動(dòng)時(shí)激活FIPS 140-2模式,確保使用符合FIPS標(biāo)準(zhǔn)的加密。
最后是存儲(chǔ)選項(xiàng):
-
--storageEngine arg
:這個(gè)選項(xiàng)指定要使用的存儲(chǔ)引擎。默認(rèn)情況下,如果不存在數(shù)據(jù)文件,它使用wiredTiger
,但你可以根據(jù)需要選擇其他引擎。 -
--dbpath arg
:這個(gè)選項(xiàng)指定數(shù)據(jù)文件的目錄。默認(rèn)情況下,它使用/data/db
,但你可以根據(jù)需要進(jìn)行調(diào)整。 -
--directoryperdb
:這個(gè)選項(xiàng)使每個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)在單獨(dú)的目錄中。它有助于組織和管理大型或多個(gè)數(shù)據(jù)庫(kù)。 -
--noprealloc
:這個(gè)選項(xiàng)禁用數(shù)據(jù)文件的預(yù)分配。雖然這可能會(huì)減少磁盤使用,但可能會(huì)導(dǎo)致更頻繁的磁盤I/O,從而影響性能。 -
--nssize arg (=16)
:這個(gè)選項(xiàng)設(shè)置新數(shù)據(jù)庫(kù)的.ns
文件大小(以MB為單位)。它影響命名空間的組織。 -
--quota
:這個(gè)選項(xiàng)限制每個(gè)數(shù)據(jù)庫(kù)可以使用的文件數(shù)量(默認(rèn)為8)。它有助于防止單個(gè)數(shù)據(jù)庫(kù)消耗過(guò)多的磁盤空間。 -
--quotaFiles arg
:這個(gè)選項(xiàng)設(shè)置每個(gè)數(shù)據(jù)庫(kù)允許的文件數(shù)量,意味著--quota
。它確保每個(gè)數(shù)據(jù)庫(kù)在磁盤使用上有明確的限制。 -
--smallfiles
:這個(gè)選項(xiàng)使用較小的默認(rèn)文件大小。它在磁盤空間有限或處理較小數(shù)據(jù)庫(kù)時(shí)非常有用。 -
--syncdelay arg (=60)
:這個(gè)選項(xiàng)設(shè)置磁盤同步的秒數(shù)。較低的值可以提高數(shù)據(jù)的持久性,但可能會(huì)降低性能。 -
--upgrade
:這個(gè)選項(xiàng)在需要時(shí)升級(jí)數(shù)據(jù)庫(kù)。它確保數(shù)據(jù)格式是最新的,與程序的當(dāng)前版本兼容。 -
--repair
:這個(gè)選項(xiàng)對(duì)所有數(shù)據(jù)庫(kù)運(yùn)行修復(fù)操作。它在檢測(cè)到數(shù)據(jù)損壞或不一致時(shí)非常有用。 -
--repairpath arg
:這個(gè)選項(xiàng)指定修復(fù)文件的根目錄。它用于在運(yùn)行修復(fù)操作時(shí)存儲(chǔ)臨時(shí)數(shù)據(jù)。 -
--journal
:這個(gè)選項(xiàng)啟用日志。日志有助于確保在系統(tǒng)故障后恢復(fù)數(shù)據(jù)的一致性。 -
--nojournal
:這個(gè)選項(xiàng)禁用日志。雖然這可能會(huì)提高性能,但會(huì)增加數(shù)據(jù)損壞的風(fēng)險(xiǎn)。 -
--journalOptions arg
:這個(gè)選項(xiàng)設(shè)置日志的診斷選項(xiàng)。具體選項(xiàng)取決于程序的內(nèi)部配置。 -
--journalCommitInterval arg
:這個(gè)選項(xiàng)設(shè)置將寫操作分組并提交到日志的頻率(以毫秒為單位)。較低的值可以提高數(shù)據(jù)的持久性,但可能會(huì)降低性能。
最后是WiredTiger選項(xiàng):
-
--wiredTigerCacheSizeGB arg
:這個(gè)選項(xiàng)設(shè)置WiredTiger緩存的最大大小(以GB為單位)。它影響存儲(chǔ)在內(nèi)存中的數(shù)據(jù)量,從而影響性能。 -
--wiredTigerJournalCompressor arg (=snappy)
:這個(gè)選項(xiàng)設(shè)置用于日志記錄的壓縮器。默認(rèn)情況下,它使用snappy
,但你可以根據(jù)需要選擇其他壓縮器。 -
--wiredTigerDirectoryForIndexes
:這個(gè)選項(xiàng)將索引和數(shù)據(jù)放在不同的目錄中。它有助于管理存儲(chǔ)布局,特別是在需要將索引和數(shù)據(jù)分開(kāi)的存儲(chǔ)系統(tǒng)上。 -
--wiredTigerCollectionBlockCompressor arg (=snappy)
:這個(gè)選項(xiàng)設(shè)置用于集合數(shù)據(jù)的塊壓縮器。默認(rèn)情況下,它使用snappy
,但你可以根據(jù)需要選擇其他壓縮器。 -
--wiredTigerIndexPrefixCompression arg (=1)
:這個(gè)選項(xiàng)在行存儲(chǔ)的葉頁(yè)上使用前綴壓縮。它有助于減少索引的存儲(chǔ)空間。
mongos:
網(wǎng)絡(luò)消息壓縮器
--networkMessageCompressors arg (=snappy,zstd,zlib)
設(shè)置用于網(wǎng)絡(luò)消息的壓縮算法。多個(gè)算法可以用逗號(hào)分隔,例如snappy,zstd,zlib
。這些壓縮算法用于減少網(wǎng)絡(luò)流量。
常規(guī)選項(xiàng)
-
-h [ --help ]
顯示幫助信息。 -
--version
顯示當(dāng)前 MongoDB 版本信息。 -
-f [ --config ] arg
指定配置文件,可以從文件加載額外的配置選項(xiàng)。 -
--configExpand arg
處理配置文件中的擴(kuò)展指令(如:none
,exec
,rest
)。 -
--port arg
指定 MongoDB 監(jiān)聽(tīng)的端口,默認(rèn)是 27017。 -
--ipv6
啟用 IPv6 支持,默認(rèn)為禁用。 -
--listenBacklog arg (=2147483647)
設(shè)置套接字監(jiān)聽(tīng)的最大排隊(duì)大小。 -
--maxConns arg (=1000000)
設(shè)置允許的最大并發(fā)連接數(shù)。 -
--pidfilepath arg
指定進(jìn)程 ID 文件的完整路徑。如果沒(méi)有設(shè)置,則不會(huì)創(chuàng)建 pid 文件。 -
--timeZoneInfo arg
指定時(shí)區(qū)信息目錄的路徑(例如:/usr/share/zoneinfo
)。 -
-v [ --verbose ] [=arg(=v)]
提高輸出的詳細(xì)程度(可以重復(fù)使用-v
增加詳細(xì)度)。 -
--quiet
使輸出更為簡(jiǎn)潔。 -
--logpath arg
指定日志文件路徑。MongoDB 會(huì)將日志寫入指定的文件,而不是輸出到標(biāo)準(zhǔn)輸出。 -
--logappend
使日志追加到指定日志文件,而不是覆蓋。 -
--logRotate arg
設(shè)置日志旋轉(zhuǎn)行為(rename
或reopen
)。 -
--timeStampFormat arg
設(shè)置日志中的時(shí)間戳格式??梢赃x擇iso8601-utc
或iso8601-local
。 -
--setParameter arg
設(shè)置可配置的參數(shù)。 -
--keyFile arg
集群身份驗(yàn)證使用的私鑰文件路徑。 -
--clusterAuthMode arg
集群身份驗(yàn)證模式??蛇x值有keyFile
,sendKeyFile
,sendX509
,x509
。 -
--bind_ip arg
綁定的 IP 地址列表(逗號(hào)分隔),默認(rèn)為localhost
。 -
--bind_ip_all
綁定到所有 IP 地址。 -
--noauth
禁用身份驗(yàn)證,允許無(wú)認(rèn)證訪問(wèn)。 -
--transitionToAuth
在進(jìn)行訪問(wèn)控制升級(jí)時(shí)使用。允許部分連接通過(guò)認(rèn)證,其他連接不進(jìn)行認(rèn)證。 -
--slowms arg (=100)
設(shè)置查詢慢日志的閾值(以毫秒為單位)。 -
--slowOpSampleRate arg (=1)
設(shè)置慢操作采樣率。表示多少比例的慢操作會(huì)被記錄。 -
--profileFilter arg
用于控制哪些操作會(huì)被記錄在性能日志中。 -
--upgradeBackCompat
表示當(dāng)前是升級(jí)過(guò)程的一部分。不會(huì)使用舊版本不支持的功能。 -
--downgradeBackCompat
表示當(dāng)前是降級(jí)過(guò)程的一部分。不會(huì)使用新版本不支持的功能。
分片選項(xiàng)
-
--configdb arg
配置副本集連接字符串,用于與配置服務(wù)器通信。格式:<config replset name>/<host1:port>,<host2:port>,...
。 -
--localThreshold arg
設(shè)置節(jié)點(diǎn)被認(rèn)為是本地的最大 ping 時(shí)間(以毫秒為單位)。默認(rèn)是 15ms。 -
--test
運(yùn)行單元測(cè)試。 -
--noscripting
禁用腳本引擎。
AWS IAM 選項(xiàng)
--awsIamSessionToken arg
用于臨時(shí)憑證的 AWS Session Token。
Windows 服務(wù)管理選項(xiàng)
-
--install
安裝 MongoDB 為 Windows 服務(wù)。 -
--remove
刪除 MongoDB 的 Windows 服務(wù)。 -
--reinstall
重新安裝 Windows 服務(wù),相當(dāng)于先移除再安裝。 -
--serviceName arg
設(shè)置 Windows 服務(wù)的名稱。 -
--serviceDisplayName arg
設(shè)置 Windows 服務(wù)的顯示名稱。 -
--serviceDescription arg
設(shè)置 Windows 服務(wù)的描述。 -
--serviceUser arg
設(shè)置用于運(yùn)行服務(wù)的用戶賬號(hào)。 -
--servicePassword arg
設(shè)置用于認(rèn)證服務(wù)用戶的密碼。
TLS 選項(xiàng)
-
--tlsOnNormalPorts
啟用 TLS 對(duì)常規(guī)端口的支持。 -
--tlsMode arg
設(shè)置 TLS 操作模式。可選值:disabled
,allowTLS
,preferTLS
,requireTLS
。 -
--tlsCertificateKeyFile arg
指定用于 TLS 的證書(shū)和密鑰文件路徑。接收到的連接會(huì)始終使用該證書(shū),若沒(méi)有指定tlsClusterFile
,出站連接也會(huì)使用該證書(shū)。 -
--tlsCertificateKeyFilePassword arg
解鎖 TLS 證書(shū)密鑰文件的密碼。 -
--tlsClusterFile arg
內(nèi)部 TLS 認(rèn)證的證書(shū)和密鑰文件。 -
--tlsClusterPassword arg
內(nèi)部認(rèn)證密鑰文件的密碼。 -
--tlsCAFile arg
用于驗(yàn)證遠(yuǎn)程證書(shū)的證書(shū)頒發(fā)機(jī)構(gòu)(CA)文件。也用于驗(yàn)證入站連接的遠(yuǎn)程證書(shū)。 -
--tlsClusterCAFile arg
用于驗(yàn)證入站連接的遠(yuǎn)程證書(shū)的 CA 文件。 -
--tlsCRLFile arg
用于驗(yàn)證證書(shū)撤銷的證書(shū)撤銷列表(CRL)文件。 -
--tlsDisabledProtocols arg
禁用的 TLS 協(xié)議列表(如:TLS1_0,TLS1_1,TLS1_2,TLS1_3
)。 -
--tlsAllowConnectionsWithoutCertificates
允許客戶端連接時(shí)不提供證書(shū)。 -
--tlsAllowInvalidHostnames
允許服務(wù)器證書(shū)提供不匹配的主機(jī)名。 -
--tlsAllowInvalidCertificates
允許與具有無(wú)效證書(shū)的服務(wù)器建立連接。 -
--tlsCertificateSelector arg
從系統(tǒng)存儲(chǔ)中選擇 TLS 證書(shū)。 -
--tlsClusterCertificateSelector arg
從系統(tǒng)存儲(chǔ)中選擇用于內(nèi)部 TLS 認(rèn)證的 SSL/TLS 證書(shū)。 -
--tlsLogVersions arg
連接時(shí)記錄的 TLS 協(xié)議版本(如:TLS1_0,TLS1_1,TLS1_2,TLS1_3
)。 -
--tlsClusterAuthX509ExtensionValue arg
用于集群身份驗(yàn)證的 X.509 擴(kuò)展值??蛻舳吮仨毺峁┌酥档?X.509 擴(kuò)展才能被視為集群成員。 -
--tlsClusterAuthX509Attributes arg
X.509 認(rèn)證時(shí),客戶端必須提供與給定屬性和值完全匹配的證書(shū),才能被視為集群節(jié)點(diǎn)。
mongo
首先,我們來(lái)看數(shù)據(jù)庫(kù)地址部分。這部分描述了如何指定要連接的 MongoDB 數(shù)據(jù)庫(kù)。有幾種不同的方法:
-
foo:這表示在本地機(jī)器上的
foo
數(shù)據(jù)庫(kù)。因此,如果 MongoDB 服務(wù)器運(yùn)行在默認(rèn)端口上,mongo foo
就會(huì)連接到本地的foo
數(shù)據(jù)庫(kù)。 -
192.168.0.5/foo:這里,
192.168.0.5
是 MongoDB 服務(wù)器的 IP 地址,foo
是數(shù)據(jù)庫(kù)的名稱。因此,mongo 192.168.0.5/foo
會(huì)連接到位于192.168.0.5
的foo
數(shù)據(jù)庫(kù)。 -
192.168.0.5:9999/foo:這與前一個(gè)類似,但指定了一個(gè)非默認(rèn)端口
9999
。因此,mongo 192.168.0.5:9999/foo
會(huì)連接到位于192.168.0.5
的9999
端口上的foo
數(shù)據(jù)庫(kù)。
接下來(lái),我們來(lái)看選項(xiàng)部分。這里有許多不同的選項(xiàng),我將逐一解析:
-
--shell
:在執(zhí)行文件后啟動(dòng) shell。因此,如果你有一個(gè)包含 MongoDB 命令的文件,可以使用這個(gè)選項(xiàng)在執(zhí)行后進(jìn)入交互式 shell。 -
--nodb
:啟動(dòng) MongoDB 時(shí)不連接到任何數(shù)據(jù)庫(kù)。這意味著你不需要在啟動(dòng)時(shí)指定數(shù)據(jù)庫(kù)地址,但稍后需要手動(dòng)連接。 -
--norc
:啟動(dòng)時(shí)不運(yùn)行~/.mongorc.js
文件。這個(gè)文件通常包含啟動(dòng)時(shí)自動(dòng)執(zhí)行的 MongoDB 命令,因此使用這個(gè)選項(xiàng)可以跳過(guò)這些自定義設(shè)置。 -
--quiet
:減少輸出的詳細(xì)程度。這在你不需要看到所有日志信息時(shí)非常有用,使界面更加簡(jiǎn)潔。 -
--port arg
:指定要連接的端口號(hào)。例如,--port 27017
會(huì)連接到 MongoDB 的默認(rèn)端口。 -
--host arg
:指定要連接的服務(wù)器的主機(jī)名或 IP 地址。例如,--host 192.168.0.5
會(huì)連接到該 IP 地址的 MongoDB 服務(wù)器。 -
--eval arg
:在 MongoDB shell 中評(píng)估 JavaScript 代碼。例如,--eval "db.collection.find()"
會(huì)執(zhí)行該查詢。 -
-h [ --help ]
:顯示使用信息。這在你忘記某個(gè)選項(xiàng)的含義或需要快速參考時(shí)非常有用。 -
--version
:顯示 MongoDB shell 的版本。這在需要確認(rèn)你正在使用的版本時(shí)非常有用,特別是在處理兼容性問(wèn)題時(shí)。 -
--verbose
:增加詳細(xì)程度。如果你需要看到更多關(guān)于 MongoDB shell 正在做什么的信息,這個(gè)選項(xiàng)可以提供幫助。 -
--ipv6
:啟用 IPv6 支持。默認(rèn)情況下,MongoDB shell 使用 IPv4,因此如果需要連接到 IPv6 地址的服務(wù)器,需要使用這個(gè)選項(xiàng)。 -
--disableJavaScriptJIT
:禁用 JavaScript 的即時(shí)編譯。這可能會(huì)影響 shell 中 JavaScript 代碼的執(zhí)行性能,但在某些情況下可能需要。 -
--disableJavaScriptProtection
:允許自動(dòng) marshalling JavaScript 函數(shù)。這在你有特定的 JavaScript 函數(shù)需要在 shell 中使用時(shí)非常有用。 -
--ssl
:使用 SSL 連接。這確保了數(shù)據(jù)在 MongoDB shell 和服務(wù)器之間的傳輸是加密的,增加了安全性。 -
--sslCAFile arg
:指定包含證書(shū)頒發(fā)機(jī)構(gòu)(CA)證書(shū)的文件,用于驗(yàn)證服務(wù)器的 SSL 證書(shū)。這對(duì)于確保你連接到的是正確的服務(wù)器至關(guān)重要。 -
--sslPEMKeyFile arg
:指定包含 PEM 格式的證書(shū)和密鑰的文件,用于 client SSL 身份驗(yàn)證。這在需要向服務(wù)器提供 client 證書(shū)時(shí)非常有用。 -
--sslPEMKeyPassword arg
:指定用于解密--sslPEMKeyFile
中密鑰的密碼。這在密鑰是加密的,需要密碼才能訪問(wèn)時(shí)非常有用。 -
--sslCRLFile arg
:指定包含證書(shū)吊銷列表(CRL)的文件,用于驗(yàn)證服務(wù)器的 SSL 證書(shū)是否被吊銷。這增加了額外的安全層。 -
--sslAllowInvalidHostnames
:允許連接到主機(jī)名不匹配證書(shū)的服務(wù)器。這在使用自簽名證書(shū)或在開(kāi)發(fā)環(huán)境中時(shí)非常有用,但不建議在生產(chǎn)環(huán)境中使用。 -
--sslAllowInvalidCertificates
:允許連接到具有無(wú)效 SSL 證書(shū)的服務(wù)器。這在需要連接到使用自簽名證書(shū)的服務(wù)器時(shí)非常有用,但同樣不建議在生產(chǎn)環(huán)境中使用。 -
--sslFIPSMode
:在啟動(dòng)時(shí)激活 FIPS 140-2 模式,確保使用符合 FIPS 標(biāo)準(zhǔn)的加密算法。 -
--retryWrites
:在遇到瞬時(shí)網(wǎng)絡(luò)錯(cuò)誤時(shí)自動(dòng)重試寫操作。這在處理不穩(wěn)定的網(wǎng)絡(luò)連接時(shí)可以提高應(yīng)用程序的彈性。 -
--disableImplicitSessions
:不自動(dòng)創(chuàng)建和使用隱式會(huì)話。這在你希望手動(dòng)管理會(huì)話時(shí)非常有用,特別是在需要精確控制會(huì)話時(shí)。 -
--jsHeapLimitMB arg
:設(shè)置 JavaScript 作用域的堆大小限制(以 MB 為單位)。這可以防止 shell 由于內(nèi)存不足而崩潰。
現(xiàn)在,我們來(lái)看身份驗(yàn)證選項(xiàng):
-
-u [ --username ] arg
:指定用于身份驗(yàn)證的用戶名。例如,-u "myUser"
會(huì)提示你輸入該用戶的密碼。 -
-p [ --password ] arg
:指定用于身份驗(yàn)證的密碼。如果在命令行中省略,系統(tǒng)會(huì)提示你輸入。 -
--authenticationDatabase arg
:指定包含用戶憑據(jù)的數(shù)據(jù)庫(kù)。如果省略,它會(huì)使用你正在連接的數(shù)據(jù)庫(kù)。 -
--authenticationMechanism arg
:指定要使用的身份驗(yàn)證機(jī)制,例如SCRAM-SHA-1
或GSSAPI
。 -
--gssapiServiceName arg (=mongodb)
:在使用 GSSAPI/Kerberos 身份驗(yàn)證時(shí)指定服務(wù)名。默認(rèn)值為mongodb
。 -
--gssapiHostName arg
:指定用于 GSSAPI/Kerberos 身份驗(yàn)證的遠(yuǎn)程主機(jī)名。這確保了 Kerberos 票據(jù)請(qǐng)求針對(duì)正確的主機(jī)。
通過(guò)以上解析,我們可以更清晰地理解每個(gè) MongoDB 命令行參數(shù)的作用,從而在實(shí)際操作中更加得心應(yīng)手。
好的,讓我們來(lái)細(xì)致地解析這些參數(shù):
db address
:這是 MongoDB 服務(wù)器的地址。它可以是 localhost、IP 地址,甚至是帶有端口號(hào)和數(shù)據(jù)庫(kù)名的 URI。例如:foo
:連接到本地的foo
數(shù)據(jù)庫(kù)。192.168.0.5/foo
:連接到 IP 地址為192.168.0.5
的機(jī)器上的foo
數(shù)據(jù)庫(kù)。192.168.0.5:9999/foo
:連接到 IP 地址為192.168.0.5
的機(jī)器上,端口號(hào)為9999
的foo
數(shù)據(jù)庫(kù)。
接下來(lái)是選項(xiàng):
-
--shell
:執(zhí)行文件后啟動(dòng) shell。因此,如果我有一個(gè)包含 MongoDB 命令的文件,使用這個(gè)選項(xiàng)可以在執(zhí)行文件中的命令后進(jìn)入交互式 shell。 -
--nodb
:不連接到任何 MongoDB 服務(wù)器。這意味著在啟動(dòng)時(shí)不需要指定db address
。這在某些情況下非常有用,比如在 shell 中進(jìn)行腳本編寫,但不需要立即連接到數(shù)據(jù)庫(kù)。 -
--norc
:不運(yùn)行".mongorc.js"
文件。通常,MongoDB 在啟動(dòng)時(shí)會(huì)執(zhí)行這個(gè)文件中的命令。使用這個(gè)選項(xiàng)可以跳過(guò)這些自定義設(shè)置,進(jìn)行干凈的啟動(dòng)。 -
--quiet
:減少輸出。這在不需要看到所有日志信息時(shí)非常有用,可以保持終端的整潔。 -
--port arg
:指定要連接的端口號(hào)。默認(rèn)情況下,MongoDB 使用27017
,但如果服務(wù)器在不同的端口上運(yùn)行,可以使用這個(gè)選項(xiàng)進(jìn)行指定。 -
--host arg
:指定 MongoDB 服務(wù)器的主機(jī)名或 IP 地址。這在連接到遠(yuǎn)程服務(wù)器或在本地有多個(gè) MongoDB 實(shí)例時(shí)非常有用。 -
--eval arg
:在 shell 中評(píng)估 JavaScript 代碼。例如,可以使用--eval "db.collection.find()"
來(lái)執(zhí)行查詢。 -
-h [ --help ]
:顯示使用信息。這個(gè)選項(xiàng)在任何時(shí)候都需要查看可用選項(xiàng)時(shí)都非常有用。 -
--version
:顯示版本信息。這在需要確認(rèn) MongoDB shell 的版本時(shí)非常有用,特別是在處理兼容性問(wèn)題時(shí)。 -
--verbose
:增加詳細(xì)輸出。這在需要更多關(guān)于 shell 操作的信息時(shí)非常有用,特別是在進(jìn)行故障排除時(shí)。 -
--ipv6
:啟用 IPv6 支持。默認(rèn)情況下,MongoDB 使用 IPv4,但如果需要連接到 IPv6 地址的服務(wù)器,這個(gè)選項(xiàng)是必不可少的。 -
--disableJavaScriptJIT
:禁用 JavaScript 的即時(shí)編譯。這可能會(huì)影響 shell 中 JavaScript 代碼的執(zhí)行性能,但在某些情況下,如安全限制,可能需要這個(gè)選項(xiàng)。 -
--disableJavaScriptProtection
:允許自動(dòng) marshalling JavaScript 函數(shù)。這在需要在 shell 中使用特定的 JavaScript 函數(shù)時(shí)非常有用,但需要注意安全問(wèn)題。 -
--ssl
:使用 SSL 連接。這確保了數(shù)據(jù)在 MongoDB shell 和服務(wù)器之間的傳輸是加密的,增加了額外的安全層。 -
--sslCAFile arg
:指定包含 CA 證書(shū)的文件,用于驗(yàn)證服務(wù)器的 SSL 證書(shū)。這在連接到使用 SSL 的服務(wù)器時(shí)非常重要,確保服務(wù)器是可信的。 -
--sslPEMKeyFile arg
:指定包含 PEM 格式的證書(shū)和密鑰的文件,用于 client SSL 身份驗(yàn)證。這在需要向服務(wù)器提供 client 證書(shū)時(shí)非常有用。 -
--sslPEMKeyPassword arg
:指定用于解密--sslPEMKeyFile
中密鑰的密碼。如果密鑰是加密的,這個(gè)選項(xiàng)是必要的。 -
--sslCRLFile arg
:指定包含證書(shū)吊銷列表(CRL)的文件,用于驗(yàn)證服務(wù)器的 SSL 證書(shū)是否被吊銷。這增加了額外的安全層,防止連接到使用已吊銷證書(shū)的服務(wù)器。 -
--sslAllowInvalidHostnames
:允許連接到主機(jī)名不匹配證書(shū)的服務(wù)器。這在使用自簽名證書(shū)或在開(kāi)發(fā)環(huán)境中時(shí)非常有用,但不建議在生產(chǎn)環(huán)境中使用,因?yàn)檫@會(huì)降低安全性。 -
--sslAllowInvalidCertificates
:允許連接到具有無(wú)效 SSL 證書(shū)的服務(wù)器。這在需要連接到使用自簽名證書(shū)的服務(wù)器時(shí)非常有用,但同樣不建議在生產(chǎn)環(huán)境中使用,因?yàn)檫@會(huì)降低安全性。 -
--sslFIPSMode
:在啟動(dòng)時(shí)激活 FIPS 140-2 模式。這確保 shell 使用符合 FIPS 標(biāo)準(zhǔn)的加密算法,適用于需要高級(jí)安全性的環(huán)境。 -
--retryWrites
:在遇到瞬時(shí)網(wǎng)絡(luò)錯(cuò)誤時(shí)自動(dòng)重試寫操作。這在處理不穩(wěn)定的網(wǎng)絡(luò)連接時(shí)可以提高應(yīng)用程序的彈性。 -
--disableImplicitSessions
:不自動(dòng)創(chuàng)建和使用隱式會(huì)話。這在需要手動(dòng)管理會(huì)話時(shí)非常有用,特別是在需要精確控制會(huì)話時(shí)。 -
--jsHeapLimitMB arg
:設(shè)置 JavaScript 作用域的堆大小限制(以 MB 為單位)。這可以防止 shell 由于內(nèi)存不足而崩潰,特別是在處理大型數(shù)據(jù)集時(shí)。
最后,身份驗(yàn)證選項(xiàng):
-
-u [ --username ] arg
:指定用于身份驗(yàn)證的用戶名。例如,-u "myUser"
會(huì)提示輸入該用戶的密碼。 -
-p [ --password ] arg
:指定用于身份驗(yàn)證的密碼。如果在命令行中省略,系統(tǒng)會(huì)提示輸入,這在保持安全時(shí)非常有用。 -
--authenticationDatabase arg
:指定包含用戶憑據(jù)的數(shù)據(jù)庫(kù)。如果省略,它會(huì)使用正在連接的數(shù)據(jù)庫(kù),但有時(shí)需要明確指定,特別是在用戶管理跨多個(gè)數(shù)據(jù)庫(kù)時(shí)。 -
--authenticationMechanism arg
:指定要使用的身份驗(yàn)證機(jī)制,如SCRAM-SHA-1
或GSSAPI
。這在連接到需要特定身份驗(yàn)證方法的服務(wù)器時(shí)非常重要。 -
--gssapiServiceName arg (=mongodb)
:在使用 GSSAPI/Kerberos 身份驗(yàn)證時(shí)指定服務(wù)名。默認(rèn)值為mongodb
,但有時(shí)需要根據(jù) Kerberos 配置進(jìn)行更改。 -
--gssapiHostName arg
:指定用于 GSSAPI/Kerberos 身份驗(yàn)證的遠(yuǎn)程主機(jī)名。這確保了 Kerberos 票據(jù)請(qǐng)求針對(duì)正確的主機(jī),特別是在主機(jī)名不明顯時(shí)。
perror`
perror
是一個(gè)用于打印系統(tǒng)錯(cuò)誤代碼或 MySQL 錯(cuò)誤代碼描述的工具。
參數(shù)詳解
-?, --help
:顯示幫助信息并退出。-I, --info
:與--help
同義。-s, --silent
:僅打印錯(cuò)誤消息。-v, --verbose
:打印錯(cuò)誤代碼和消息(默認(rèn))。-V, --version
:顯示版本信息并退出。
變量和布爾選項(xiàng)
verbose
:默認(rèn)為TRUE
。
mongodump`
mongodump
是一個(gè)用于將 MongoDB 服務(wù)器的內(nèi)容導(dǎo)出為 .bson 文件的工具。
參數(shù)詳解
mongodump <options>
:導(dǎo)出運(yùn)行中服務(wù)器的內(nèi)容。
一般選項(xiàng)
/help
:打印用法。/version
:打印工具版本并退出。
詳細(xì)選項(xiàng)
-
verbosity options
:/v, /verbose:<level>
:增加詳細(xì)日志輸出(可以多次使用以增加詳細(xì)程度)。/quiet
:隱藏所有日志輸出。
-
connection options
:/h, /host:<hostname>
:連接到指定的 MongoDB 主機(jī)。/port:<port>
:服務(wù)器端口。
-
ssl options
:/ssl
:連接到啟用了 SSL 的mongod
或mongos
。/sslCAFile:<filename>
:包含根證書(shū)鏈的 .pem 文件。/sslPEMKeyFile:<filename>
:包含證書(shū)和密鑰的 .pem 文件。/sslPEMKeyPassword:<password>
:解密 sslPEMKeyFile 的密碼。/sslCRLFile:<filename>
:包含證書(shū)吊銷列表的 .pem 文件。/sslAllowInvalidCertificates
:繞過(guò)服務(wù)器證書(shū)的驗(yàn)證。/sslAllowInvalidHostnames
:繞過(guò) TLS/SSL 證書(shū)中的主機(jī)名驗(yàn)證。/sslFIPSMode
:使用安裝的 OpenSSL 庫(kù)的 FIPS 模式。
-
authentication options
:/u, /username:<username>
:用于身份驗(yàn)證的用戶名。/p, /password:<password>
:用于身份驗(yàn)證的密碼。/authenticationDatabase:<database-name>
:用戶憑據(jù)所在的認(rèn)證數(shù)據(jù)庫(kù)。/authenticationMechanism:<mechanism>
:使用的身份驗(yàn)證機(jī)制。
-
namespace options
:/d, /db:<database-name>
:指定要使用的數(shù)據(jù)庫(kù)。/c, /collection:<collection-name>
:指定要使用的集合。
-
uri options
:/uri:mongodb-uri
:MongoDB URI 連接字符串。
-
query options
:/q, /query:
:提供 JSON 字符串作為查詢過(guò)濾器。/queryFile:
:指定包含查詢過(guò)濾器的文件路徑。/readPreference:<string>|<json>
:指定讀取偏好。/forceTableScan
:強(qiáng)制進(jìn)行表掃描。
-
output options
:/o, /out:<directory-path>
:指定輸出目錄。/gzip
:使用 Gzip 壓縮輸出。/repair
:嘗試從損壞的數(shù)據(jù)文件中恢復(fù)文檔。/oplog
:使用 oplog 進(jìn)行快照。/archive:<file-path>
:以歸檔格式輸出到指定路徑。/dumpDbUsersAndRoles
:轉(zhuǎn)儲(chǔ)用戶和角色定義。/excludeCollection:<collection-name>
:從轉(zhuǎn)儲(chǔ)中排除指定集合。/excludeCollectionsWithPrefix:<collection-prefix>
:排除所有以指定前綴開(kāi)頭的集合。/j, /numParallelCollections:
:指定并行轉(zhuǎn)儲(chǔ)的集合數(shù)量(默認(rèn)為 4)。/viewsAsCollections
:將視圖導(dǎo)出為普通集合。
以下是 mongoexport
和 mongofiles
工具的參數(shù)詳細(xì)解釋:
mongoexport
mongoexport
是一個(gè)數(shù)據(jù)庫(kù)工具,用于將 MongoDB 實(shí)例中存儲(chǔ)的數(shù)據(jù)導(dǎo)出為 JSON 或 CSV 格式。
一般選項(xiàng)
/help
:打印用法。/version
:打印工具版本并退出。
詳細(xì)選項(xiàng)
/v, /verbose:<level>
:增加詳細(xì)日志輸出(可以多次包含以增加詳細(xì)程度,例如-vvvvv
,或者指定一個(gè)數(shù)值,例如--verbose=N
)。/quiet
:隱藏所有日志輸出。
連接選項(xiàng)
/h, /host:<hostname>
:要連接的 MongoDB 主機(jī)(對(duì)于副本集可以使用setname/host1,host2
)。/port:<port>
:服務(wù)器端口(也可以使用--host hostname:port
)。
SSL 選項(xiàng)
/ssl
:連接到啟用了 SSL 的mongod
或mongos
。/sslCAFile:<filename>
:包含證書(shū)授權(quán)機(jī)構(gòu)的根證書(shū)鏈的.pem
文件。/sslPEMKeyFile:<filename>
:包含證書(shū)和密鑰的.pem
文件。/sslPEMKeyPassword:<password>
:解密sslPEMKeyFile
的密碼。/sslCRLFile:<filename>
:包含證書(shū)吊銷列表的.pem
文件。/sslAllowInvalidCertificates
:繞過(guò)服務(wù)器證書(shū)的驗(yàn)證。/sslAllowInvalidHostnames
:繞過(guò)服務(wù)器名稱的驗(yàn)證。/sslFIPSMode
:使用安裝的 OpenSSL 庫(kù)的 FIPS 模式。
認(rèn)證選項(xiàng)
/u, /username:<username>
:用于認(rèn)證的用戶名。/p, /password:<password>
:用于認(rèn)證的密碼。/authenticationDatabase:<database-name>
:保存用戶憑據(jù)的數(shù)據(jù)庫(kù)。/authenticationMechanism:<mechanism>
:使用的認(rèn)證機(jī)制。
命名空間選項(xiàng)
/d, /db:<database-name>
:要使用的數(shù)據(jù)庫(kù)。/c, /collection:<collection-name>
:要使用的集合。
URI 選項(xiàng)
/uri:mongodb-uri
:MongoDB URI 連接字符串。
輸出選項(xiàng)
/f, /fields:<field>[,<field>]*
:字段名的逗號(hào)分隔列表(導(dǎo)出 CSV 時(shí)必需)例如-f "name,age"
。/fieldFile:<filename>
:包含字段名的文件 - 每行一個(gè)字段名。/type:<type>
:輸出格式,要么是json
要么是csv
(默認(rèn)為json
)。/o, /out:<filename>
:輸出文件;如果沒(méi)有指定,則使用 stdout。/jsonArray
:輸出到 JSON 數(shù)組而不是每行一個(gè)對(duì)象。/pretty
:輸出格式化為人類可讀的 JSON。/noHeaderLine
:導(dǎo)出 CSV 數(shù)據(jù)時(shí)不包含字段名列表在第一行。
查詢選項(xiàng)
/q, /query:<json>
:查詢過(guò)濾器,作為一個(gè) JSON 字符串,例如{x:{$gt:1}}
。/queryFile:<filename>
:包含查詢過(guò)濾器的文件路徑(JSON)。/k, /slaveOk
:如果可用,允許從輔助節(jié)點(diǎn)讀取(默認(rèn)為false
)。/readPreference:<string>|<json>
:指定讀取偏好。/forceTableScan
:強(qiáng)制執(zhí)行表掃描(不使用$snapshot
)。/skip:<count>
:要跳過(guò)的文檔數(shù)量。/limit:<count>
:限制要導(dǎo)出的文檔數(shù)量。/sort:<json>
:排序順序,作為一個(gè) JSON 字符串,例如{x:1}
。/assertExists
:如果指定,集合不存在則導(dǎo)出失敗(默認(rèn)為false
)。
mongofiles
mongofiles
是一個(gè)用于在命令行中操作 GridFS 文件的工具。
一般選項(xiàng)
/help
:打印用法。/version
:打印工具版本并退出。
詳細(xì)選項(xiàng)
/v, /verbose:<level>
:增加詳細(xì)日志輸出。/quiet
:隱藏所有日志輸出。
連接選項(xiàng)
/h, /host:<hostname>
:要連接的 MongoDB 主機(jī)。/port:<port>
:服務(wù)器端口。
SSL 選項(xiàng)
/ssl
:連接到啟用了 SSL 的mongod
或mongos
。/sslCAFile:<filename>
:包含根證書(shū)鏈的.pem
文件。/sslPEMKeyFile:<filename>
:包含證書(shū)和密鑰的.pem
文件。/sslPEMKeyPassword:<password>
:解密sslPEMKeyFile
的密碼。/sslCRLFile:<filename>
:包含證書(shū)吊銷列表的.pem
文件。/sslAllowInvalidCertificates
:繞過(guò)服務(wù)器證書(shū)的驗(yàn)證。/sslAllowInvalidHostnames
:繞過(guò)服務(wù)器名稱的驗(yàn)證。/sslFIPSMode
:使用安裝的 OpenSSL 庫(kù)的 FIPS 模式。
認(rèn)證選項(xiàng)
/u, /username:<username>
:用于認(rèn)證的用戶名。/p, /password:<password>
:用于認(rèn)證的密碼。/authenticationDatabase:<database-name>
:保存用戶憑據(jù)的數(shù)據(jù)庫(kù)。/authenticationMechanism:<mechanism>
:使用的認(rèn)證機(jī)制。
URI 選項(xiàng)
/uri:mongodb-uri
:MongoDB URI 連接字符串。
存儲(chǔ)選項(xiàng)
/d, /db:<database-name>
:要使用的數(shù)據(jù)庫(kù)(默認(rèn)為test
)。/l, /local:<filename>
:put|get 的本地文件名。/t, /type:
:put 的內(nèi)容/MIME 類型(可選)。/r, /replace
:put 后刪除具有相同名稱的其他文件。/prefix:<prefix>
:要使用的 GridFS 前綴(默認(rèn)為fs
)。/writeConcern:<write-concern>
:寫入關(guān)注選項(xiàng)。
查詢選項(xiàng)
/readPreference:<string>|<json>
:指定讀取偏好。
以下是 mongoimport
和 mongorestore
工具的參數(shù)詳細(xì)解釋:
mongoimport
mongoimport
是一個(gè)用于將 CSV、TSV 或 JSON 數(shù)據(jù)導(dǎo)入 MongoDB 的工具。
一般選項(xiàng)
/help
:打印用法。/version
:打印工具版本并退出。
詳細(xì)選項(xiàng)
/v, /verbose:<level>
:增加詳細(xì)日志輸出(可以多次包含以增加詳細(xì)程度,例如-vvvvv
,或者指定一個(gè)數(shù)值,例如--verbose=N
)。/quiet
:隱藏所有日志輸出。
連接選項(xiàng)
/h, /host:<hostname>
:要連接的 MongoDB 主機(jī)(對(duì)于副本集可以使用setname/host1,host2
)。/port:<port>
:服務(wù)器端口(也可以使用--host hostname:port
)。
SSL 選項(xiàng)
/ssl
:連接到啟用了 SSL 的mongod
或mongos
。/sslCAFile:<filename>
:包含證書(shū)授權(quán)機(jī)構(gòu)的根證書(shū)鏈的.pem
文件。/sslPEMKeyFile:<filename>
:包含證書(shū)和密鑰的.pem
文件。/sslPEMKeyPassword:<password>
:解密sslPEMKeyFile
的密碼。/sslCRLFile:<filename>
:包含證書(shū)吊銷列表的.pem
文件。/sslAllowInvalidCertificates
:繞過(guò)服務(wù)器證書(shū)的驗(yàn)證。/sslAllowInvalidHostnames
:繞過(guò)服務(wù)器名稱的驗(yàn)證。/sslFIPSMode
:使用安裝的 OpenSSL 庫(kù)的 FIPS 模式。
認(rèn)證選項(xiàng)
/u, /username:<username>
:用于認(rèn)證的用戶名。/p, /password:<password>
:用于認(rèn)證的密碼。/authenticationDatabase:<database-name>
:保存用戶憑據(jù)的數(shù)據(jù)庫(kù)。/authenticationMechanism:<mechanism>
:使用的認(rèn)證機(jī)制。
命名空間選項(xiàng)
/d, /db:<database-name>
:要使用的數(shù)據(jù)庫(kù)。/c, /collection:<collection-name>
:要使用的集合。
URI 選項(xiàng)
/uri:mongodb-uri
:MongoDB URI 連接字符串。
輸入選項(xiàng)
/f, /fields:<field>[,<field>]*
:字段名的逗號(hào)分隔列表,例如-f name,age
。/fieldFile:<filename>
:包含字段名的文件,每行一個(gè)字段名。/file:<filename>
:要導(dǎo)入的文件;如果沒(méi)有指定,則使用標(biāo)準(zhǔn)輸入。/headerline
:使用輸入源的第一行作為字段列表(僅 CSV 和 TSV)。/jsonArray
:將輸入源視為 JSON 數(shù)組。/parseGrace:<grace>
:控制類型轉(zhuǎn)換失敗時(shí)的行為,可以是autoCast
、skipField
、skipRow
或stop
(默認(rèn)為stop
)。/type:<type>
:要導(dǎo)入的輸入格式:json、csv 或 tsv(默認(rèn)為json
)。/columnsHaveTypes
:指示字段列表(來(lái)自-fields
、-fieldFile
或-headerline
)指定了類型。
導(dǎo)入選項(xiàng)
/drop
:在插入文檔前刪除集合。/ignoreBlanks
:在 CSV 和 TSV 中忽略空值字段。/maintainInsertionOrder
:按輸入源中的順序插入文檔。/j, /numInsertionWorkers:<number>
:并發(fā)執(zhí)行的插入操作數(shù)量(默認(rèn)為 1)。/stopOnError
:在第一個(gè)插入/更新錯(cuò)誤時(shí)停止導(dǎo)入。/mode:[insert|upsert|merge]
:插入模式,insert
僅插入,upsert
插入或替換現(xiàn)有文檔,merge
插入或修改現(xiàn)有文檔(默認(rèn)為insert
)。/upsertFields:<field>[,<field>]*
:用于查詢部分的字段,當(dāng)--mode
設(shè)置為upsert
或merge
時(shí)使用。/writeConcern:<write-concern-specifier>
:寫入關(guān)注選項(xiàng)。/bypassDocumentValidation
:繞過(guò)文檔驗(yàn)證。
mongorestore
mongorestore
是一個(gè)用于將 mongodump
生成的備份恢復(fù)到運(yùn)行中的服務(wù)器的工具。
一般選項(xiàng)
/help
:打印用法。/version
:打印工具版本并退出。
詳細(xì)選項(xiàng)
/v, /verbose:<level>
:增加詳細(xì)日志輸出。/quiet
:隱藏所有日志輸出。
連接選項(xiàng)
/h, /host:<hostname>
:要連接的 MongoDB 主機(jī)。/port:<port>
:服務(wù)器端口。
SSL 選項(xiàng)
/ssl
:連接到啟用了 SSL 的mongod
或mongos
。/sslCAFile:<filename>
:包含證書(shū)授權(quán)機(jī)構(gòu)的根證書(shū)鏈的.pem
文件。/sslPEMKeyFile:<filename>
:包含證書(shū)和密鑰的.pem
文件。/sslPEMKeyPassword:<password>
:解密sslPEMKeyFile
的密碼。/sslCRLFile:<filename>
:包含證書(shū)吊銷列表的.pem
文件。/sslAllowInvalidCertificates
:繞過(guò)服務(wù)器證書(shū)的驗(yàn)證。/sslAllowInvalidHostnames
:繞過(guò)服務(wù)器名稱的驗(yàn)證。/sslFIPSMode
:使用安裝的 OpenSSL 庫(kù)的 FIPS 模式。
認(rèn)證選項(xiàng)
/u, /username:<username>
:用于認(rèn)證的用戶名。/p, /password:<password>
:用于認(rèn)證的密碼。/authenticationDatabase:<database-name>
:保存用戶憑據(jù)的數(shù)據(jù)庫(kù)。/authenticationMechanism:<mechanism>
:使用的認(rèn)證機(jī)制。
URI 選項(xiàng)
/uri:mongodb-uri
:MongoDB URI 連接字符串。
命名空間選項(xiàng)
/d, /db:<database-name>
:從 BSON 文件恢復(fù)時(shí)使用的數(shù)據(jù)庫(kù)。/c, /collection:<collection-name>
:從 BSON 文件恢復(fù)時(shí)使用的集合。/excludeCollection:<collection-name>
:在恢復(fù)期間跳過(guò)指定的集合。/excludeCollectionsWithPrefix:<collection-prefix>
:跳過(guò)具有給定前綴的集合。/nsExclude:<namespace-pattern>
:排除匹配的命名空間。/nsInclude:<namespace-pattern>
:包括匹配的命名空間。/nsFrom:<namespace-pattern>
:重命名匹配的命名空間,必須有匹配的nsTo
。/nsTo:<namespace-pattern>
:重命名匹配的命名空間,必須有匹配的nsFrom
。
輸入選項(xiàng)
/objcheck
:在插入前驗(yàn)證所有對(duì)象。/oplogReplay
:回放 oplog 以進(jìn)行點(diǎn)時(shí)間恢復(fù)。/oplogLimit:<seconds>[:ordinal]
:只包括在提供的 Timestamp 之前的 oplog 條目。/oplogFile:<filename>
:用于回放 oplog 的文件。/archive:<filename>
:從指定的歸檔文件恢復(fù)。/restoreDbUsersAndRoles
:恢復(fù)給定數(shù)據(jù)庫(kù)的用戶和角色定義。/dir:<directory-name>
:輸入目錄,使用-
表示標(biāo)準(zhǔn)輸入。/gzip
:解壓縮 gzip 壓縮的輸入。
恢復(fù)選項(xiàng)
/drop
:在導(dǎo)入前刪除每個(gè)集合。/dryRun
:在不導(dǎo)入任何內(nèi)容的情況下查看摘要。/writeConcern:<write-concern>
:寫入關(guān)注選項(xiàng)。/noIndexRestore
:不恢復(fù)索引。/noOptionsRestore
:不恢復(fù)集合選項(xiàng)。/keepIndexVersion
:不更新索引版本。/maintainInsertionOrder
:在恢復(fù)期間保持文檔順序。/j, /numParallelCollections:
:并行恢復(fù)的集合數(shù)量(默認(rèn)為 4)。/numInsertionWorkersPerCollection:
:每個(gè)集合并發(fā)執(zhí)行的插入操作數(shù)量(默認(rèn)為 1)。/stopOnError
:在遇到插入錯(cuò)誤時(shí)停止恢復(fù)。/bypassDocumentValidation
:繞過(guò)文檔驗(yàn)證。
以下是 mongostat
工具的參數(shù)詳細(xì)解釋:
一般選項(xiàng)
/help
:打印用法信息。/version
:打印工具版本并退出。
詳細(xì)選項(xiàng)
/v, /verbose:<level>
:增加詳細(xì)日志輸出(可以多次包含以增加詳細(xì)程度,例如-vvvvv
,或者指定一個(gè)數(shù)值,例如--verbose=N
)。/quiet
:隱藏所有日志輸出。
連接選項(xiàng)
/h, /host:<hostname>
:要連接的 MongoDB 主機(jī)(可以用逗號(hào)分隔多個(gè)主機(jī))。/port:<port>
:服務(wù)器端口(也可以使用--host hostname:port
)。
SSL 選項(xiàng)
/ssl
:連接到啟用了 SSL 的mongod
或mongos
。/sslCAFile:<filename>
:包含證書(shū)授權(quán)機(jī)構(gòu)的根證書(shū)鏈的.pem
文件。/sslPEMKeyFile:<filename>
:包含證書(shū)和密鑰的.pem
文件。/sslPEMKeyPassword:<password>
:解密sslPEMKeyFile
的密碼。/sslCRLFile:<filename>
:包含證書(shū)吊銷列表的.pem
文件。/sslAllowInvalidCertificates
:繞過(guò)服務(wù)器證書(shū)的驗(yàn)證。/sslAllowInvalidHostnames
:繞過(guò)服務(wù)器名稱的驗(yàn)證。/sslFIPSMode
:使用安裝的 OpenSSL 庫(kù)的 FIPS 模式。
認(rèn)證選項(xiàng)
/u, /username:<username>
:用于認(rèn)證的用戶名。/p, /password:<password>
:用于認(rèn)證的密碼。/authenticationDatabase:<database-name>
:保存用戶憑據(jù)的數(shù)據(jù)庫(kù)。/authenticationMechanism:<mechanism>
:使用的認(rèn)證機(jī)制。
URI 選項(xiàng)
/uri:mongodb-uri
:MongoDB URI 連接字符串。
統(tǒng)計(jì)選項(xiàng)
/o:<field>[,<field>]*
:要顯示的字段。對(duì)于自定義字段,使用點(diǎn)語(yǔ)法索引serverStatus
輸出,并可選方法.diff()
和.rate()
,例如metrics.record.moves.diff()
。/O:<field>[,<field>]*
:與-o
類似,但預(yù)加載了默認(rèn)字段。指定的字段插入在默認(rèn)輸出之后。/humanReadable
:以人類可讀的格式打印大小和時(shí)間(例如 1K 234M 2G)。要使用更精確的機(jī)器可讀格式,請(qǐng)使用--humanReadable=false
(默認(rèn)為true
)。/noheaders
:不輸出列名。/n, /rowcount:<count>
:要打印的統(tǒng)計(jì)行數(shù)(0 表示無(wú)限)。/discover
:發(fā)現(xiàn)節(jié)點(diǎn)并顯示所有節(jié)點(diǎn)的統(tǒng)計(jì)信息。/http
:使用 HTTP 代替原始數(shù)據(jù)庫(kù)連接。/all
:所有可選字段。/json
:以 JSON 格式輸出而不是格式化表格。/useDeprecatedJsonKeys
:使用舊的鍵名稱;僅與 JSON 輸出選項(xiàng)有效。/i, /interactive
:在非滾動(dòng)界面中顯示統(tǒng)計(jì)信息。
mongostat
是一個(gè)命令行工具,用于提供正在運(yùn)行的 mongod
或 mongos
實(shí)例的狀態(tài)快速概覽。它類似于 UNIX/Linux 文件系統(tǒng)實(shí)用程序 vmstat
,但提供關(guān)于 mongod
和 mongos
實(shí)例的數(shù)據(jù)。使用 mongostat
可以幫助識(shí)別系統(tǒng)瓶頸。