本篇是前天在 MonogDB 微信群裡面開的臨時議題研究室截圖
原本是設定大家一起討論關於不同的 file system 對於 MongoDB 儲存和備份遷移上的差別
不過,當天與會者都太害羞了,剩下我一個人自己天馬行空表演,議題也就發散了最後有些關於 SSD 的選擇。
為了讓大家事後可以參與,就把當天討論的內容放上來,把討論過程放到論壇未來會是一種常態。
未來群組裡面不定時也會開啟不同議題的討論研究室,有興趣的人可以入群隨時自由選擇加入。

























本篇是前天在 MonogDB 微信群裡面開的臨時議題研究室截圖
原本是設定大家一起討論關於不同的 file system 對於 MongoDB 儲存和備份遷移上的差別
不過,當天與會者都太害羞了,剩下我一個人自己天馬行空表演,議題也就發散了最後有些關於 SSD 的選擇。
為了讓大家事後可以參與,就把當天討論的內容放上來,把討論過程放到論壇未來會是一種常態。
未來群組裡面不定時也會開啟不同議題的討論研究室,有興趣的人可以入群隨時自由選擇加入。
今天早上在微信討論群裡面的一個研究室發表了這個應用,本應用適合目前還是單機的用戶做為升級副本集前的過渡。
各位如果對於討論群有興趣不妨找管理員詢問加入方法,或是 PM 我也可以。
目前 MongoDB 微信群提供了各類新資訊的發佈,專家線上解答,另不定時開立臨時議題的研究室讓團員自由加入討論,歡迎大家參與。
只要注意該分區格式的單一檔案最大上限就可以了,FAT16是2GB FAT32是4GB NTFS是16TB。
Linux 上面也是以此類推。
mongobackup --help
options:
--help produce help message
-v [ --verbose ] be more verbose (include multiple times for more verbosity e.g. -vvvvv)
--version print the program's version and exit
-h [ --host ] arg mongo host to connect to ( <set name>/s1,s2 for sets)
--port arg server port. Can also use --host hostname:port
--ipv6 enable IPv6 support (disabled by default)
-u [ --username ] arg username
-p [ --password ] arg password
--authenticationDatabase arg (=admin) user source (defaults to dbname)
--authenticationMechanism arg (=MONGODB-CR) authentication mechanism
--dbpath arg directly access mongod database files in the given path, instead of connecting to a mongod server - needs to lock the data directory, so cannot be used if a mongod is currently accessing the same path
--directoryperdb each db is in a separate directly (relevant only if dbpath specified)
--journal enable journaling (relevant only if dbpath specified)
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
--objcheck validate object before inserting (default)
--noobjcheck don't validate object before inserting
--filter arg filter to apply before inserting
-o [ --out ] arg (=backup) output directory or "-" for stdout
--backup backup
-s [ --optimestart ] arg Use optimestart timestamp for incremental backup/recovery
--stream Use stream for real-time incremental backup
--recovery recovery
-t [ --optimestop ] arg Use optimestop timestamp for incremental recovery
當退出時,MongoDB 將返回以下代碼和狀態。
0
成功退出後由MongoDB應用程序返回。
2
指定的選項有錯誤或與其他選項不兼容。
3
在主/從模式下,mongod 如果在命令行和 local.sources 集合中指定的主機名之間存在不匹配。
4
數據庫的版本與 mongod (或 mongod.exe )實例支持的版本不同。實例完全退出。
5
mongos 在初始化期間遇到問題時返回。
12
mongod.exe 當 Windows 收到 Control-C,Close,Break 或 Shutdown 事件時,該進程返回。
14
由 MongoDB 應用程序返回,遇到不可恢復的錯誤,未捕獲的異常或未捕獲的信號。發生系統退出而不正常的關機。
20
信息: ERROR: wsastartup failed <reason>
在 Windows 上由 MongoDB 應用程序返回,在 WSAStartup 函數中出現錯誤,用於初始化網絡子系統。
信息: NT Service Error
由於安裝,啟動或刪除應用程序的 NT 服務失敗,MongoDB 應用程序返回 Windows。
48
由於錯誤,新啟動 mongod 或 mongos 無法開始偵聽端口傳入的連接。
100
mongod 當進程拋出一個未捕獲的異常時返回。
整個資料庫倒出來再倒回去會很慢,但是更改 db 名稱會動到整個 collection 和 index 的 namespace
如果有開 Replication 和 Sharding 則全部的結點也都受到影響,所有參照這個 db 的 oplog 也一併受影響。
不過如果一個一個改 collection 會比整個倒出再倒回去快,可以試看看下面的方式。
use admin db.runCommand({renameCollection: "[db_old_name].[collection_name]", to: "[db_new_name].[collection_name]"})