Mongo 資料庫備份和恢復命令

香吧香發表於2023-12-24

轉載請註明出處:

  在MongoDB中,使用mongodumpmongorestore命令來備份和恢復資料庫

mongodump

1.使用方法:

  使用 mongodump 命令可以備份MongoDB資料庫的資料。

2.常用引數:

  使用mongodump --help 檢視所有幫忙引數,以下為常用的一些引數:

  • -h,--host :代表遠端連線的資料庫地址,預設連線本地Mongo資料庫;
  • --port:代表遠端連線的資料庫的埠,預設連線的遠端埠27017;
  • -u,--username:代表連線遠端資料庫的賬號,如果設定資料庫的認證,需要指定使用者賬號;
  • -p,--password:代表連線資料庫的賬號對應的密碼;
  • -d,--db:代表連線的資料庫;
  • -c,--collection:代表連線資料庫中的集合;
  • -o, --out:代表匯出的檔案輸出目錄;
  • -q, --query:代表查詢條件;
  • -j,--numParallelCollections =要並行轉儲的集合數(預設為4)
  • --gzip,使用Gzip壓縮存檔;
  • --oplog,使用oplog進行時間點快照;
  • --authenticationDatabase,指定使用者鑑定庫

 3.示例說明:

  3.1備份指定資料庫到指定目錄

mongodump -h dbhost -d dbname -o dbdirectory

  在這個命令中,dbhost是MongoDB所在伺服器的地址,dbname是你想要備份的資料庫的名稱,dbdirectory是備份的資料存放位置。這個命令將在dbdirectory所在的目錄下生成一個名為dbname的目錄,其中包含了你想要備份的資料庫的內容

  3.2 備份並壓縮整個資料庫:

mongodump --gzip --out /data/backup

  將使用gzip壓縮,備份整個資料庫到 /data/backup 目錄下。

mongorestore

1.使用方法:

  使用 mongorestore 命令可以將備份的資料匯入到MongoDB資料庫中。

2.常用引數:

   mongodump --help 檢視幫助命令,以下為常用的引數:

  • -h,--host :代表遠端連線的資料庫地址,預設連線本地Mongo資料庫;
  • --port:代表遠端連線的資料庫的埠,預設連線的遠端埠27017;
  • -u,--username:代表連線遠端資料庫的賬號,如果設定資料庫的認證,需要指定使用者賬號;
  • -p,--password:代表連線資料庫的賬號對應的密碼;
  • -d,--db:代表連線的資料庫;
  • -c,--collection:代表連線資料庫中的集合;
  • -o, --out:代表匯出的檔案輸出目錄;
  • --dir = <目錄名稱>輸入目錄
  • --drop匯入前刪除資料庫中集合;
  • --gzip,解壓Gzip壓縮存檔還原;
  • --oplog,重放oplog以基於時間點還原;
  • --oplogFile = <檔名>指定重播oplog的oplog檔案
  • --authenticationDatabase,指定使用者鑑定庫

 3.示例說明:

   3.1使用mongorestore命令來恢復資料庫。

  這個命令可以將備份的資料庫內容匯入到MongoDB資料庫中。以下是一個例子:

mongorestore -h <hostname><:port> -d dbname <path>

  在這個命令中,<hostname><:port>是MongoDB所在伺服器的地址和埠,dbname是你想要恢復的資料庫的名稱,<path>是備份資料所在的位置。這個命令將從<path>所在的目錄中讀取資料,並將其匯入到dbname資料庫中

  請注意,mongorestore命令在恢復資料的時候,如果指定了--drop選項,那麼它會先刪除當前資料庫中的所有資料,然後再匯入備份的資料。因此,需要非常小心地使用這個選項,因為它可能會導致資料丟失。

      3.2 恢復上面gzip備份的資料

mongorestore --drop --gzip /data/backup/

  上述命令將在恢復資料之前刪除現有的集合,並且使用gzip解壓縮備份檔案來還原資料。

            

 

相關文章