MongoDB學習筆記:命令行工具


本文更新於2023-05-08,使用MongoDB 4.4.5。

bsondump

BSON查看工具。

bsondump [OPTION] BSONFILENAME

OPTION可為:

  • 通用選項:
    • --help|-h:查看幫助。
    • --version:查看版本。

mongo

同mongosh。MongoDB 6.0使用mongosh替換mongo。

mongod

MongoDB服務器。

mongod [OPTION]
mongod --replSet REPLSET_NAME
mongod --repair [--repairpath DST_DIR] [--dbpath DIR]

OPTION可為:

  • 通用選項:
    • --auth:啟用身份驗證。
    • --bind_ip:監聽的IP。
    • --config|-f FILENAME:配置文件。命令行指定的選項可覆蓋配置文件中的值。
    • --fork:創建后台運行的子進程。需同時使用--logpath。
    • --help|-h:查看幫助。
    • --logappend:以追加方式寫入日志文件。需同時使用--logpath。
    • --logpath FILENAME:日志輸出文件。如不指定則輸出至標准輸出。
    • --noscripting:禁止執行JavaScript腳本。注意,某些shell輔助函數依賴於JavaScript腳本。
    • --nounixsocket:不監聽UNIX套接字。
    • --port PORT:監聽的端口。默認為27017。
    • --profile LEVEL:設置系統分析器等級。0為關閉系統分析器,1為只記錄慢查詢,2為記錄所有操作。
    • --quiet:不輸出日志。
    • --slowms MICROSECONDS:設置系統分析器的慢查詢閾值。單位為毫秒。
    • --verbose|-v:日志級別。不使用該選項則為最低值0;-vvvvv為最高值5(記錄幾乎所有操作,包括每一個請求處理的內容)。
    • --version:查看版本。
  • 副本集選項:
    • --replSet REPLSET_NAME:指定副本集名稱,作為副本集節點啟動。不使用此選項,則以單機模式啟動。
  • 分片選項:
    • --configsvr:作為配置服務器啟動。默認端口為27019,默認數據目錄為/data/configdb。
    • --shardsvr:作為分片啟動。默認端口為27018,
  • 存儲選項:
    • --dbpath DIR:數據目錄。默認為/data/db(Windows為當前驅動器)。
    • --directoryperdb:每個數據庫存放在單獨的目錄中。
    • --journalCommitInterval MICROSECONDS:日記系統進行提交的時間間隔。單位為毫秒,最小為2,最大為500。
    • --noprealloc:禁止預分配數據文件。
    • --repair:修復數據。不會監聽端口,但會輸出日志。
    • --repairpath DST_DIR:指定修復時復制文件的目標目錄。
    • --syncdelay SECONDS:將臟頁刷新到磁盤的時間間隔。單位為秒。

mongodump

數據備份工具。備份過程中會繼續執行寫入操作。

mongodump [OPTION]

OPTION可為:

  • 通用選項:
    • --help|-h:查看幫助。
    • --version:查看版本。
  • 連接選項:
    • --host HOST:主機名。
    • --port PORT:端口。
  • 身份驗證選項:
    • --authenticationDatabase AUTH_DBNAME:身份校驗使用的數據庫。
    • --password|-p [PASSWORD]:指定密碼。如不指定PASSWORD,則於交互界面提示輸入密碼。
    • --username|-u USERNAME:指定用戶名。
  • 命名空間選項:
    • --db|-d DBNAME:只備份指定的數據庫。
  • 輸出選項:
    • --excludeCollection COLLECTIONNAME:不進行備份的集合。可指定多次。
    • --gzip:將.bson數據文件和.metadata.json元數據文件使用gzip壓縮。
    • --oplog:同時轉儲備份過程中的操作日志oplog,以獲得備份時間點的快照。如備份副本集,必需使用此選項。
    • --out|-o DUMPDIR:輸出目錄。默認為dump。輸出目錄中包含若干個名字為數據庫名的目錄,每個目錄中包含若干個集合名開頭的.bson數據文件和.metadata.json元數據文件。

如連接至副本集,則會自動選擇一個備份節點執行備份操作。

如連接至mongos,則會備份所有分片。

mongoexport

數據導出工具。

mongofiles

GridFS工具。

mongofiles [OPTION] COMMAND [ARG]

OPTION可為:

  • 通用選項:
    • --help|-h:查看幫助。
    • --version:查看版本。
  • 連接選項:
    • --host HOST:主機名。
    • --port PORT:端口。
  • 身份驗證選項:
    • --authenticationDatabase AUTH_DBNAME:身份校驗使用的數據庫。
    • --password|-p [PASSWORD]:指定密碼。如不指定PASSWORD,則於交互界面提示輸入密碼。
    • --username|-u USERNAME:指定用戶名。
  • 存儲選項:
    • --db|-d DBNAME:指定數據庫。
    • --local|-l LOCALFILENAME:本地文件名,只用於putget子命令。

COMMAND [ARG]可為(FILENAME可為文件路徑):

  • delete FILENAME:從GridFS中刪除文件。
  • get FILENAME:將GridFS中的文件下載到文件系統中。
  • list [PREFIX]:列出GridFS中的文件。以前綴匹配查找。如不指定前綴,則列出所有文件。
  • put FILENAME:將文件系統中的文件上傳到GridFS。
  • search SUBSTRING:在GridFS中搜索文件。搜索子串。

mongoimport

數據導入工具。

mongorestore

數據恢復工具。

mongorestore [OPTION] [DUMPDIR|BSONFILENAME]

OPTION可為:

  • 通用選項:
    • --help|-h:查看幫助。
    • --version:查看版本。
  • 連接選項:
    • --host HOST:主機名。
    • --port PORT:端口。
  • 身份驗證選項:
    • --authenticationDatabase AUTH_DBNAME:身份校驗使用的數據庫。
    • --password|-p [PASSWORD]:指定密碼。如不指定PASSWORD,則於交互界面提示輸入密碼。
    • --username|-u USERNAME:指定用戶名。
  • 命名空間選項:
    • --collection|-c COLLECTIONNAME:只恢復指定的集合。此選項已廢棄。
    • --db|-d DBNAME:只恢復指定的數據庫。此選項已廢棄。
    • --nsFrom DBNAME.COLLECTIONNAME:重命名時的源命名空間。必需指定對應的--nsTo。DBNAME和COLLECTIONNAME均可使用*匹配所有。
    • --nsInclude DBNAME.COLLECTIONNAME:只恢復指定的命名空間。DBNAME和COLLECTIONNAME均可使用*匹配所有。
    • --nsTo DBNAME.COLLECTIONNAME。重命名時的目標命名空間。必需指定對應的--nsFrom。DBNAME和COLLECTIONNAME均可使用*匹配所有。
  • 輸入選項:
    • --dir DUMPDIR:需恢復的備份數據目錄。默認為dump。根據不同情況,此目錄需包含若干個名字為數據庫名的目錄,或需包含若干個集合名開頭的.bson數據文件和.metadata.json元數據文件。
    • --gzip:從使用gzip壓縮方式備份的數據中恢復。
    • --oplogReplay:重放操作日志oplog,以獲得備份時間點的快照。
  • 恢復選項:
    • --drop:進行數據替換,在恢復集合前先刪除之。

如連接至mongos,則會恢復所有分片。

mongos

分片路由。

mongos [OPTION]
mongos --configdb CONFIG

OPTION可為:

  • 通用選項:
    • --help|-h:查看幫助。
    • --maxConns N:指定最大連接數量。
    • --port PORT:監聽的端口。默認為27017。
    • --version:查看版本。
  • 分片選項:
    • --configdb CONFIG:指定配置服務器,格式為REPLSET_NAME/HSOT_PORT<,...,HSOT_PORT>。

mongosh

JavaScript shell。

mongo [OPTION] [DBNAME|HOST[:PORT][/DBNAME]|MONGODB_URI] [JS_FILENAME[ ...]]

OPTION可為:

  • 通用選項:
    • --help|-h:查看幫助。
    • --host HOST:主機名。
    • --nodb:啟動shell時不連接到任何mongod。
    • --norc:啟動shell時不加載用戶主目錄下的.mongorc.js。默認會加載。
    • --port PORT:端口。
    • --quiet:不打印連接成功后的提示信息。
    • --version:查看版本。
  • 身份驗證選項:
    • --authenticationDatabase AUTH_DBNAME:身份校驗使用的數據庫。
    • --password|-p [PASSWORD]:指定密碼。如不指定PASSWORD,則於交互界面提示輸入密碼。
    • --username|-u USERNAME:指定用戶名。

如不指定DBNAME或HOST[:PORT][/DBNAME或MONGODB_URI,默認連接到localhost:27017/test。

MONGODB_URI為連接字符串。官方文檔為:https://www.mongodb.com/docs/v6.0/reference/connection-string/。格式為:mongodb://[USERNAME[:PASSWORD]@]HOST[:PORT][,...,HOST1[:PORT1]][/[DBNAME]][?NAME=VALUE[&...&NAME1=VALUE1]]。NAME=VALUE可為:

  • authSource=AUTH_DBNAME:身份校驗使用的數據庫。
  • replicaSet=REPLSET_NAME:副本集名字。如使用此參數,可指定任意個(並不需要所有)HOST[:PORT],會自動選擇主節點連接。

如指定JS_FILENAME,則依次執行腳本文件然后退出(相對路徑根據shell運行目錄)。否則,以交互方式使用shell。

mongostat

狀態統計工具。每隔一段時間輸出一次,統計自上一次輸出以來的信息。可連接至副本集和分片集群。

mongostat [OPTION] [INTERVAL_SECONDS]

OPTION可為:

  • 通用選項:
    • --help|-h:查看幫助。
    • --version:查看版本。
  • 連接選項:
    • --host HOST:主機名。
    • --port PORT:端口。
  • 身份驗證選項:
    • --authenticationDatabase AUTH_DBNAME:身份校驗使用的數據庫。
    • --password|-p [PASSWORD]:指定密碼。如不指定PASSWORD,則於交互界面提示輸入密碼。
    • --username|-u USERNAME:指定用戶名。
  • 狀態選項:
    • --discover:尋找副本集或分片集群的所有節點,針對每個節點也輸出一行信息。

輸出包含以下字段:

  • host:主機地址。
  • insert:插入的次數。
  • query:查詢的次數。
  • update:更新的次數。
  • delete:刪除的次數。
  • getmore:查詢游標時獲取更多數據的次數。
  • command:執行命令的次數。
  • dirty:
  • used:
  • flushes:數據刷新至磁盤的次數。
  • mapped:映射的內存大小。通常約等於數據目錄的大小。
  • vsize:正在使用的虛擬內存大小。通常為數據目錄的2倍(一次用於映射文件,一次用於日記系統)。
  • res:正在使用的內存大小。通常應盡量接近機器的內存大小。
  • faults:
  • qrw:讀寫操作的隊列大小。即被阻塞的讀寫操作的數量。讀和寫以“|”分隔。
  • arw:讀寫的活躍客戶端數量。即正在進行讀寫的客戶端的數量。讀和寫以“|”分隔。
  • net_in:通過網絡傳輸進來的字節數。不必和操作系統的統計相等。
  • net_out:通過網絡傳輸出去的字節數。不必和操作系統的統計相等。
  • conn:打開的連接數。包括輸入和輸出連接。
  • set:副本集名稱。
  • repl:副本集的節點狀態。
  • time:統計的時間點。

mongotop

集合實時監控工具。每隔一段時間輸出一次。

mongotop [OPTION] [INTERVAL_SECONDS]

OPTION可為:

  • 通用選項:
    • --help|-h:查看幫助。
    • --version:查看版本。
  • 連接選項:
    • --host HOST:主機名。
    • --port PORT:端口。
  • 身份驗證選項:
    • --authenticationDatabase AUTH_DBNAME:身份校驗使用的數據庫。
    • --password|-p [PASSWORD]:指定密碼。如不指定PASSWORD,則於交互界面提示輸入密碼。
    • --username|-u USERNAME:指定用戶名。
  • 輸出選項:
    • --locks:查看每個數據庫的鎖狀態。


免責聲明!

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



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