修復 MongoDB 資料庫

Mehvish Ashiq 2022年6月7日
修復 MongoDB 資料庫

本教程根據我們面臨的問題討論在 Windows 作業系統中使用 MongoDB 修復資料庫。

在 MongoDB 中修復資料庫

在不同的場景中,我們需要使用 MongoDB 修復資料庫。例如,如果出現不正確或不乾淨的關閉,或者我們想要檢查不一致和錯誤,我們會修復資料庫。

如果系統意外關閉,我們也會修復資料庫。在進入修復過程之前,讓我們瞭解一下 MongoDB 資料庫的元件。

MongoDB 資料庫元件

MongoDB 資料庫有三個元件,下面簡要說明。

  1. mongo - 檢查警報日誌的互動式外殼;例如,詳細資訊和重試操作。
  2. mongos - 程序的不當終止。此外,它被迫與例項斷開連線。
  3. mongod - 處理後臺操作和資料請求的守護程序。

以下是一些問題和相應的解決方案。

問題 1:系統意外關閉

以下是此問題的分步解決方案。在執行這些步驟之前,請記住在 root 目錄中有一個 data 資料夾。

  • 在 Windows 作業系統中,使用 cd/ 命令將目錄更改為 rootC:\>
  • 複製 mongod.exe 服務的完整路徑。在我們的例子中,它是 C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe

    請注意,我們還新增了 --repair 引數。

    C:\> "C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe" --dbpath C:\data --repair
    
  • 點選 Enter 鍵並等待完成。完成後,將修復資料庫。

問題 2:修復 MongoDB 不正確關閉

如果在 MongoDB 中工作時發生不乾淨的關閉並且日誌功能被禁用,則資料可能會不一致。如果有一個非空的 mongod.lock 檔案,我們將面臨以下錯誤訊息。

錯誤資訊:

Detected unclean shutdown – mongod.lock is not empty

下面給出了這個特定問題的解決方案。

  • 在 Windows 命令提示符下使用 cd/ 命令切換到 root 目錄。
  • 我們在 --dbpath 中建立資料檔案的備份副本。
  • 使用 --repair 來初始化 MongoDB。
  • 執行下面給出的命令並點選 Enter
C:\> mongod --dbpath /data/db --repair

完成後,將修復 MongoDB。

問題 3:檢測到 Connect Failed Unclean Shutdown

如果我們中的任何人面臨以下錯誤,我們必須遵循兩步過程。

錯誤資訊:

couldn't connect to server 127.0.0.1 shell/mongo.js:8 4 exceptions: connect failed Unclean shutdown detected

第 1 步:開啟 Windows 命令提示符並鍵入 cd/ 將目錄更改為 root

步驟 2:執行如下命令,按 Enter 並等待結束。完成後,MongoDB 現在就修復了。

C:\> mongod --repair
作者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook