快速了解 mongodump:MongoDB 資料庫備份必知工具

更新於 發佈於 閱讀時間約 1 分鐘
raw-image

👨‍💻簡介

在資料庫管理和系統維護中,備份是非常重要的一環。對於使用 MongoDB 的開發者和資料庫管理員來說,mongodump 是一個非常實用的命令行工具,能夠快速且輕鬆地完成資料庫的備份和恢復。無論是進行資料遷移、系統升級,還是面對突發的故障,mongodump 都能提供穩定的資料保護。這篇文章會簡單介紹一下 mongodump 的基本概念、怎麼使用,以及它的優缺點,讓你能夠更全面地了解這個工具,為你的資料庫管理增添一份安全保障。

🔰基礎介紹

什麼是 mongodump ?

mongodump 是 MongoDB 提供的一個命令行工具,用於備份資料庫資料。 它會將 MongoDB 資料庫中的資料導出成 BSON 格式的檔案,這些檔案可以用於後續的資料恢復或移轉。

mongodump 主要功能

mongodump 的主要用途是資料備份與恢復。開發者或資料庫管理員可以使用 mongodump 來建立資料庫的快照,確保在系統升級、遷移或故障時,能夠有完整的資料還原方案。

MongoDump 優缺點

優點

  1. 簡單易用:使用命令行即可輕鬆進行資料備份。
  2. 支援大規模資料:能夠高效處理大型資料庫。
  3. 可用於各種場景:無論是本地還是遠端資料庫都能支援。
  4. 支援跨平台:可在各種操作系統上使用。

缺點

  1. 無法熱備份:備份過程中會影響資料庫性能,特別是在大型資料庫或高負載環境下。
  2. 備份格式相對龐大:BSON 格式備份檔案較大,可能占用較多的磁碟空間。
  3. 安全性問題:備份時需要妥善處理資料和憑證,避免資料洩露。

🎯setup

基本指令

  1. 導出整個資料庫 語法:
mongodump --db <database_name>

範例:

mongodump --db mydatabase

2. 導出特定集合(collection) 語法:

mongodump --db <database_name> --collection

範例:

mongodump --db mydatabase --collection mycolletion

3. 導出到特定目錄 語法:

mongodump --out <output_directory>

範例:

mongodump --db mydatabase --out /path/to/backup

4. 導出遠端 MongoDB 伺服器 語法:

  • 使用參數組合指令
mongodump --host <mongo_host_or_ip> --port <port> --db <database_name> --username <username> --password <password> --authenticationDatabase <auth_database>
  • 使用 URI:
mongodump --uri mongodb://<username>:<password>@<mongo_host_or_ip>:<port>/<database_name>?authSource=<auth_database>

範例:

mongodump --host mongodb.example.com --port 27017 --db mydatabase --username mongo_user --password mongo_pass --authenticationDatabase mydatabase

常用參數

  • --uri=<connectionString>

指定 MongoDB 連線 uri

  • --host=<hostname><:port>, -h=<hostname><:port>

指定連線 Port

Default: localhost:27017

  • --username=<username>, -u=<username>

指定連線 username

  • --password=<password>, -p=<password>

指定連線密碼

  • --authenticationDatabase=<dbname>

指定身份驗證的資料庫

  • --authenticationMechanism=<name>

指定身份驗證機制 Default: SCRAM-SHA-1

  • --db=<database>, -d=<database>

指定要備份的資料庫。如果不指定,會將所有資料庫複製到 dump 檔案。

  • --collection=<collection>, -c=<collection>

指定要備份的集合。如果不指定集合,會將指定資料庫的所有集合複製到 dump 檔案。

  • --query=<json>, -q=<json>

提供 JSON 文件作為查詢。

常見問題 FAQ

  • mongodump 對資料庫性能有影響嗎?

是的,mongodump 在進行備份時可能會佔用系統資源,尤其是對於大型資料庫或高負載環境。建議在流量較低的時間進行備份操作,或者考慮使用影本(replica set)來進行讀取備份,降低對主數據庫的影響。

  • BSON 格式備份檔案太大,怎麼解決?

BSON 格式的備份檔案較大是 mongodump 的一個缺點,可以使用壓縮工具(如 gzip)來減少備份檔案的大小,或者選擇性地備份特定集合而非整個資料庫。

  • mongodump 支援熱備份嗎?

mongodump 不支援完全的熱備份,執行備份時會暫時鎖定集合來確保數據一致性,因此會短暫影響到數據庫操作。對於需要高可用性的系統,可以考慮使用影本集群來實現較為接近的熱備份效果。

  • 如何確保備份資料的安全性?

確保備份過程中不會暴露敏感憑證,並對備份檔案進行加密。同時,將備份文件保存在有權限管理的安全目錄中,並定期檢查備份的可用性和完整性。

  • mongodump 支援哪些驗證機制?

mongodump 支援多種驗證機制,包括 SCRAM-SHA-1、SCRAM-SHA-256 等。可根據你的 MongoDB 配置選擇適合的驗證方式來進行安全連線。

  • mongodump 的備份檔案可以直接導入嗎?

mongodump 產生的備份檔案不能直接被 MongoDB 使用,需要透過 mongorestore 命令進行恢復,才能完整還原到目標資料庫。

📚Reference

留言
avatar-img
留言分享你的想法!
avatar-img
Alan的開發者天地
18會員
83內容數
golang
Alan的開發者天地的其他內容
2024/09/15
本文介紹如何使用 MongoDB 的命令行工具 Mongorestore 將先前備份的資料還原到資料庫中。Mongorestore 支援資料庫的整體恢復、特定集合的恢復,以及從遠端伺服器進行恢復等功能。無論是初學者還是有經驗的使用者,都能夠快速掌握如何使用 Mongorestore 工具。
Thumbnail
2024/09/15
本文介紹如何使用 MongoDB 的命令行工具 Mongorestore 將先前備份的資料還原到資料庫中。Mongorestore 支援資料庫的整體恢復、特定集合的恢復,以及從遠端伺服器進行恢復等功能。無論是初學者還是有經驗的使用者,都能夠快速掌握如何使用 Mongorestore 工具。
Thumbnail
2024/06/20
本文介紹如何對 Telegram 憑證監控機器人的代碼進行優化,包括新增指令、讀取變數、提高可讀性和可維護性。
Thumbnail
2024/06/20
本文介紹如何對 Telegram 憑證監控機器人的代碼進行優化,包括新增指令、讀取變數、提高可讀性和可維護性。
Thumbnail
2024/06/04
在這篇文章中,將繼續介紹 TG Bot 整合 MongoDB 的相關操作。主要包括對 domain 進行驗證操作,使用的工具有 Python 、MongoDB 和 TG Bot。具體的功能需求包括新增 domain 前檢查 domain 憑證以及透過 TG Bot 檢查所有 domain 是否過期。
Thumbnail
2024/06/04
在這篇文章中,將繼續介紹 TG Bot 整合 MongoDB 的相關操作。主要包括對 domain 進行驗證操作,使用的工具有 Python 、MongoDB 和 TG Bot。具體的功能需求包括新增 domain 前檢查 domain 憑證以及透過 TG Bot 檢查所有 domain 是否過期。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
👨‍💻簡介 在資料庫管理和系統維護中,備份是非常重要的一環。對於使用 MongoDB 的開發者和資料庫管理員來說,mongodump 是一個非常實用的命令行工具,能夠快速且輕鬆地完成資料庫的備份和恢復。無論是進行資料遷移、系統升級,還是面對突發的故障,mongodump 都能提供穩定的資料保護
Thumbnail
👨‍💻簡介 在資料庫管理和系統維護中,備份是非常重要的一環。對於使用 MongoDB 的開發者和資料庫管理員來說,mongodump 是一個非常實用的命令行工具,能夠快速且輕鬆地完成資料庫的備份和恢復。無論是進行資料遷移、系統升級,還是面對突發的故障,mongodump 都能提供穩定的資料保護
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
本文介紹如何使用 TG Bot 來操作 MongoDB,包括讀取所有 domain、讀取特定 domain、新增 domain、批量新增 domain、修改 domain 和刪除 domain。透過 TG Bot 的指令操作,實現了自動化管理和多環境管理。
Thumbnail
本文介紹如何使用 TG Bot 來操作 MongoDB,包括讀取所有 domain、讀取特定 domain、新增 domain、批量新增 domain、修改 domain 和刪除 domain。透過 TG Bot 的指令操作,實現了自動化管理和多環境管理。
Thumbnail
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
學習如何使用Python連接MongoDB進行憑證監控,包括建立MongoDB docker-compose、連接MongoDB、讀取yaml並寫入MongoDB、傳入env以及domain寫入MongoDB、讀取MongoDB、修改MongoDB、刪除MongoDB。
Thumbnail
學習如何使用Python連接MongoDB進行憑證監控,包括建立MongoDB docker-compose、連接MongoDB、讀取yaml並寫入MongoDB、傳入env以及domain寫入MongoDB、讀取MongoDB、修改MongoDB、刪除MongoDB。
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News