『壹』 資料庫mongoDB怎麼安裝 為什麼我下載的解壓縮後裡面沒有bin目錄解壓縮後再怎麼辦
沒有bin目錄那有mongo.exe等這些exe程序文件嗎?一般都是在bin目錄下的,沒遇到過解壓後沒有bin目錄的
注意:
1. MongoDB 2.6.4 Linux 版要求 glibc 必須是 2.5 以上,所以需要先確認操作系統的 glibc 的版本。
2. 在 32 位平台 MongoDB 不允許資料庫文件(累計總和)超過 2G,而 64 位平台沒有這個限制。
一)下載MongoDB
下載Windows 32-bit版本並解壓縮,程序文件都在bin目錄中,其它兩個目錄分別是C++調用是的頭文件和庫文件。bin目錄中包含如下幾個程序:
●bsonmp: 將 bson 格式的文件轉儲為 json 格式的數據
●mongo: 客戶端命令行工具,其實也是一個 js 解釋器,支持 js 語法
●mongod: 資料庫服務端,每個實例啟動一個進程,可以 fork 為後台運行
●mongomp/ mongorestore: 資料庫備份和恢復工具
●mongoexport/ mongoimport: 數據導出和導入工具
●mongofiles: GridFS 管理工具,可實現二制文件的存取
●mongos: 分片路由,如果使用了 sharding 功能,則應用程序連接的是 mongos 而不是mongod
●mongosniff: 這一工具的作用類似於 tcpmp,不同的是他只監控 MongoDB 相關的包請求,並且是以指定的可讀性的形式輸出
●mongostat: 實時性能監控工具
二) 設置MongoDB工作目錄
將其解壓到 c:\,再重命名為mongo,路徑為c:\mongo
三) 設置數據文件路徑
在c:\mongo裡面新建logs和data文件夾
在c:\mongo\logs裡面新建mongodb.log文件,建立日誌文件
在c:\mongo\data裡面新建文件夾db,建立數據存放目錄
四)啟動MongoDB服務
打開 cmd,輸入命令:c:\mongo\bin\mongod.exe --dbpath=c:\mongo\data\db
正常運行顯示以下信息:
Mongdb默認的監聽埠為27017。
『貳』 mongodb 切片資料庫怎麼備份
1、導出工具:mongoexport
1、概念:
mongoDB中的mongoexport工具可以把一個collection導出成JSON格式或CSV格式的文件。可以通過參數指定導出的數據項,也可以根據指定的條件導出數據。
2、語法:
mongoexport -d dbname -c collectionname -o file --type json/csv -f field
參數說明:
-d :資料庫名
-c :collection名
-o :輸出的文件名
--type : 輸出的格式,默認為json
-f :輸出的欄位,如果-type為csv,則需要加上-f "欄位名"
3、示例:
sudo mongoexport -d mongotest -c users -o /home/python/Desktop/mongoDB/users.json --type json -f "_id,user_id,user_name,age,status"
2、數據導入:mongoimport
1、語法:
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
參數說明:
-d :資料庫名
-c :collection名
--type :導入的格式默認json
-f :導入的欄位名
--headerline :如果導入的格式是csv,則可以使用第一行的標題作為導入的欄位
--file :要導入的文件
『叄』 mongodb 怎麼備份多個集合
單個collection備份:
mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
-h: MongoDB所在伺服器地址
-d: 需要恢復的資料庫實例
-c: 需要恢復的集合
-f: 需要導出的欄位(省略為所有欄位)
-o: 表示導出的文件名
『肆』 MongoDB配置文件中如何綁定IP最後一行設置後,mongo啟動不了了,求解決。
1.啟停止MongoDB
執行mongod,啟MongoDB伺服器mongod選項命令執行 mongod --help
主要選項:
--dbpath
指定數據目錄默認值C:\data\db每mongod進程都需要獨立數據目錄要3mongod
實例必須3獨立數據目錄mongod啟資料庫目錄創建mongod.lock文件
文件用於防止其mongod純凈使用該數據目錄
--port
指定伺服器監聽埠號默認埠27017.要運行mongod進程則要給每指定同埠號
--logpath
指定志輸路徑文件夾讀寫許可權系統文件存創建已文件覆蓋掉
清除所原志記錄想要保留原志需使用--logappend選項
--config
指定配置文件載入命令行未指定各種選項
2.配置文件啟
MongoDB支持文件獲取配置信息.需要配置非或者要自化MongoDB啟用.
指定配置文件用-f或--config選項.
:
mongod --config refactorConfig.txt
refactorConfig.txt內容:
#start MongoDB
port = 10000
dbpath = "f:\mongo\db"
logpath = "f:\mongo\log\MongoDB.txt"
rest = true
配置文件命令行功能
mongod --dbpath "f:\mongo\db" --logpath "f:\mongo\log\MongoDB.txt" --rest --port 10000
配置文件特點:
a.#行注釋
b.指定選項語種"選項=值"形式.選項區寫.
c.命令行--rest關選項,值要設true
3.停止MongoDB
使用shutdown命令{"shutdown":1},命令要admin資料庫使用.shell提供輔助函數:
use admin
db.shutdownServer()
4. 監控
使用管理介面,默認情況,啟mongod啟基本http伺服器,該服務默認埠28017.瀏覽器輸入
localhost:28017.些鏈接需要mongod啟,用--rest選項啟rest支持 才能進.啟rest支持,
mongod啟使用--nohttpinterface關閉管理介面.
5.serverStatus
要獲取運行MongoDB伺服器統計信息,基本工具serverStatus命令
db.runCommand({"serverStatus":1})
serverStatus返鍵解釋:
"globalLock"值表示全局寫入鎖佔用伺服器少間(單位微秒)
"mem"包含伺服器內存映射少數據,伺服器進程虛擬內存駐內存佔用情況(單位MB)
"indexCounters"表示B樹磁碟檢索("misses")內存檢索("hits")數.比值始升,要考慮加內存.
"backgroundFlushing"表示台做少fsync及用少間
"opcounters"文檔包含每種主要操作數
"asserts"統計斷言數
6.mongostat
serverStatus雖強,伺服器監控說容易.MongoDB提供mongostat
mongostat輸些serverStatus提供重要信息,每秒輸新行,比前看靜態數據實性要.
輸列,別 inserts/s commands/s vsize %locked,與serverStatus數據相應.
使用第三插件進行資料庫監控.
7.安全認證
認證基礎知識
每MongoDB實例資料庫都用戶,啟安全性檢查,資料庫認證用戶才能執行讀或寫操作.
認證文,MongoDB普通數據作admin資料庫處理.admin資料庫用戶稱超級用戶(管理員).
認證,管理員讀寫所資料庫,執行特定管理命令,listDatabasesshutdown.
啟安全檢查前,至少要管理員帳號,shell連接沒啟安全檢查伺服器
面添加管理員refactor_root,test資料庫添加兩普通賬號,其讀許可權.shell創建讀用戶要
addUser第三參數設true.調用addUser必須響應資料庫寫許可權.所資料庫調用addUser,
沒啟安全檢查.
重啟資料庫,重啟加入 --auth 命令行選項,啟安全檢查
第連接,能test資料庫執行任何操作,作讀用戶認證,能查找,能插入數據.能讀寫用戶認證,能查找插入
數據,能使用show dbs 列舉所資料庫.超級用戶認證,所欲.
8.認證工作原理
資料庫用戶帳號文檔形式存儲system.users集合.文檔結構
{
"_id" : ObjectId("5006a037dff37e149322fd83"),
"user" : "refactor_read_write",
"readOnly" : false,
"pwd" : ""//根據用戶名密碼散列
}
知道用戶信息何存儲及存儲位置,進行管理工作.
刪除帳戶:
> db.system.users.remove({"user":"refactor_read"})
> db.auth("refactor_read","refactor")
0
用戶認證,伺服器認證連接綁定跟蹤認證,說驅程序或工具使用連接池或故障切換
另節點,所認證用戶必須每新連接重新認證.
MongoDB傳輸協議加密,需加密,用ssh隧道或者類似技術做客戶端伺服器間加密.
建議MongoDB伺服器放防火牆或放應用伺服器能訪問網路.MongoDB必須能外面訪問,
建議使用--bindip選項,指定mongod綁定本ip址.:能本機應用伺服器訪問,使用
mongod --bindip localhost
默認情況MongoDB啟簡單http伺服器,便於查看運行,鎖,復制等面信息,要想公些信息,用
--nohttpinterface關閉管理介面.
用--noscripting完全禁止服務端javascript執行
9.備份修復
MongoDB所數據都存放 數據目錄 ,默認目錄C:\data\db\.啟MongoDB候用--dbpath指定數據目錄.
論數據目錄哪,都存放著MongoDB所數據.要想備份MongoDB,要簡單復制數據目錄所文件即.
除非伺服器做完整fsync,允許寫入,否則運行MongoDB創建數據目錄副本並安全,備份能已經
破損,需要修復.
運行MongoDB創建數據目錄副本並安全,所先伺服器關,再復制數據目錄.關閉資料庫要停止業務.
10.mongompmongorestore
mongomp種能運行備份.mongomp運行MongoDB做查詢,所查文檔寫入磁碟.
mongomp般客戶端,所供運行MongoDB使用,即便處理其請求或執行寫入沒問題.
mongomp使用普通查詢機制,所產備份定伺服器數據實快照.伺服器備份程處理寫入,非明顯.
mongomp備份查詢其客戶端性能產影響.
mongomp --help 獲幫助
mongorestore備份恢復數據工具.
mongorestore獲取mongomp 輸結,並備份數據插入運行MongoDB實例.
:資料庫test備份backup目錄
mongomp -d test -o backup
使用mongorestore 恢復testNew 資料庫
mongorestore -d testNew --drop backup/test/
-d指定要恢復資料庫.--drop指恢復前刪除集合(若存),否則數據與現集合數據合並,能覆蓋些文檔.
使用mongorestore --help獲幫助信息
11.fsync鎖
雖使用mongompmongorestore能停機備份,卻失獲取實數據視圖能力.MongoDBfsync命令
能MongoDB運行復制數據目錄損壞數據.
fsync命令強制伺服器所緩沖區寫入磁碟.選擇鎖住址資料庫進步寫入,知道釋放鎖止.寫入鎖讓
fsync備份發揮作用關鍵.
shell,強制執行fsync並獲寫入鎖:
db.runCommand({"fsync":1,"lock":1})
,數據目錄數據致,且數據實快照.鎖,安全數據目錄副本作備份.要資料庫運行
快照功能文件系統,比LVM,EBS,用,拍資料庫目錄快照快.
備份,解鎖:
db.$cmd.sys.unlock.findOne()
db.currentOp()
運行db.currentOp()確保已經解鎖(初請求解鎖花點間)
fsync命令,能非靈備份,用停掉伺服器,用犧牲備份實性能.要付代價些寫入操作
暫阻塞.唯耽誤讀寫能保證實快照備份式通伺服器備份.
12.屬備份
雖面備份式靈,都沒伺服器備份.復制式運行MongoDB,前面提備份技術僅能用
主伺服器,用伺服器.伺服器數據幾乎與主伺服器同步.太乎屬伺服器性能或者能能讀寫,
於能隨意選擇面3種備份式:關停,轉存或恢復工具或fsync命令.伺服器備份MongoDB推薦備份式.
13.修復
MongoDB存儲式能保證磁碟數據能用,能損毀.MongoDB內置修復功能試著恢復損壞數據文件.
未停止MongoDB應該修復資料庫.修復資料庫式簡單 mongod --repair 啟伺服器.
修復資料庫實際程簡單:所文檔導馬導入,忽略效文檔.完,重建索引.數據量,花間,
所數據都要驗證,所索引都要重建(MongoDB 1.8 版本引入志系統,使修復間打打縮短).
修復能比修復前少些文檔,損壞文檔刪除.
修復資料庫能起壓縮數據作用.閑置控制項(刪除體積較集合,或刪除量文檔騰空間)修復重新利用.
修復運行伺服器資料庫,要shell用repairDatabases.
use test
db.repairDatabase()
『伍』 原來mongo中$out出來有限制嗎
1.啟動和停止MongoDB
執行mongod,啟動MongoDB伺服器。mongod有很多選項,在命令中執行 mongod --help
主要選項如下:
--dbpath
指定數據目錄,默認值是C:\data\db。每個mongod進程都需要獨立的數據目錄。如果要是有3個mongod
實例,那麼必須有3個獨立的數據目錄。當mongod啟動時,會在資料庫目錄中創建mongod.lock文件
這個文件用於防止其他的mongod純凈使用該數據目錄。
--port
指定伺服器監聽的埠號,默認埠27017.要運行多個mongod進程,則要給每個指定不同的埠號。
--logpath
指定日誌的輸出路徑。如果對文件夾有讀寫許可權,系統會在文件不存在時創建它。它會將已有文件覆蓋掉,
清除所有原來的日誌記錄。如果想要保留原來的日誌,需使用--logappend選項。
--config
指定配置文件,載入命令行未指定的各種選項。
2.從配置文件啟動
MongoDB支持從文件獲取配置信息.當需要配置非常多或者要自動化MongoDB的啟動時會用到.
指定配置文件可以用-f或--config選項.
如:
mongod --config refactorConfig.txt
refactorConfig.txt內容如下:
#start MongoDB
port = 10000
dbpath = "f:\mongo\db"
logpath = "f:\mongo\log\MongoDB.txt"
rest = true
配置文件和命令行的功能一樣
mongod --dbpath "f:\mongo\db" --logpath "f:\mongo\log\MongoDB.txt" --rest --port 10000
配置文件的特點:
a.以#開頭的行是注釋
b.指定選項的語法是這種"選項=值"的形式.選項是區分大小寫的.
c.命令行如--rest的開關選項,值要設為true
3.停止MongoDB
可以使用shutdown命令{"shutdown":1},這個命令要在admin資料庫下使用.shell還提供了輔助函數:
use admin
db.shutdownServer()
4. 監控
使用管理介面,默認情況下,啟動mongod會啟動基本的http伺服器,該服務的默認埠是28017.可以在瀏覽器中輸入
localhost:28017.有些鏈接需要在mongod啟動時,用--rest選項開啟rest支持 才能進去.當開啟rest支持後,可以
在mongod啟動時使用--nohttpinterface來關閉管理介面.
5.serverStatus
要獲取運行中的MongoDB伺服器統計信息,最基本的工具是serverStatus命令
db.runCommand({"serverStatus":1})
serverStatus返回的鍵解釋:
"globalLock"的值表示全局寫入鎖佔用了伺服器多少時間(單位微秒)
"mem"包含伺服器內存映射了多少數據,伺服器進程的虛擬內存和常駐內存的佔用情況(單位MB)
"indexCounters"表示B樹在磁碟檢索("misses")和內存檢索("hits")的次數.如果這個比值開始上升,就要考慮加內存了.
"backgroundFlushing"表示後台做了多少次fsync以及用了多少時間
"opcounters"文檔包含了每種主要操作的次數
"asserts"統計了斷言的次數
6.mongostat
serverStatus雖然強大,但對伺服器的監控來說不怎麼容易.MongoDB提供了mongostat
mongostat輸出一些serverStatus提供的重要信息,它會每秒輸出新的一行,比之前看到的靜態數據實時性要好.
它輸出多個列,分別是 inserts/s commands/s vsize 和 %locked,與serverStatus的數據相對應.
還可以使用第三方插件進行資料庫的監控.
7.安全和認證
認證的基礎知識
每個MongoDB實例中的資料庫都可以有很多用戶,如果開啟了安全性檢查,這只有資料庫認證用戶才能執行讀或寫操作.
在認證的上下文中,MongoDB會將普通的數據作為admin資料庫處理.admin資料庫中的用戶被稱為超級用戶(管理員).
在認證後,管理員可以讀寫所有資料庫,執行特定的管理命令,如listDatabases和shutdown.
在開啟安全檢查前,至少要有個管理員帳號,在shell連接的是沒有開啟安全檢查的伺服器
上面添加了管理員refactor_root,在test資料庫添加了兩個普通賬號,其中一個有隻讀許可權.在shell中創建只讀用戶只要
在addUser的第三個參數設為true.調用addUser必須有響應資料庫的寫許可權.這里可以對所有資料庫調用addUser,
因為還沒有開啟安全檢查.
重啟資料庫,重啟時加入 --auth 命令行選項,開啟安全檢查
第一次連接時,不能test資料庫執行任何操作,作為只讀用戶認證後,能查找,不能插入數據.能讀寫用戶認證後,能查找和插入
數據,但不能使用show dbs 來列舉所有資料庫.超級用戶認證後,可以為所欲為了.
8.認證的工作原理
資料庫的用戶帳號以文檔的形式存儲在system.users集合里.文檔的結構是
{
"_id" : ObjectId("5006a037dff37e149322fd83"),
"user" : "refactor_read_write",
"readOnly" : false,
"pwd" : ""//是根據用戶名和密碼生成的散列
}
知道了用戶信息是如何存儲的以及存儲位置後,就可以進行日常的管理工作了.
如刪除帳戶:
> db.system.users.remove({"user":"refactor_read"})
> db.auth("refactor_read","refactor")
0
用戶認證時,伺服器將認證和連接綁定來跟蹤認證,也就是說如果驅動程序或是工具使用了連接池或是因故障切換到
另一個節點,所有認證用戶必須對每個新連接重新認證.
MongoDB的傳輸協議是不加密的,如需加密,可以用ssh隧道或者類似的技術做客戶端和伺服器間的加密.
建議將MongoDB伺服器放在防火牆或放在只有應用伺服器能訪問的網路中.如果MongoDB必須能被外面訪問到的話,
建議使用--bindip選項,可以指定mongod綁定到的本地ip地址.如:只能從本機應用伺服器訪問,可以使用
mongod --bindip localhost
默認情況下MongoDB會開啟一個簡單的http伺服器,便於查看運行,鎖,復制等方面的信息,要是不想公開這些信息,可以用
--nohttpinterface來關閉管理介面.
可以用--noscripting完全禁止服務端javascript執行
9.備份和修復
MongoDB將所有數據都存放在 數據目錄 下,默認目錄是C:\data\db\.啟動MongoDB的時候可以用--dbpath指定數據目錄.
不論數據目錄在哪裡,它都存放著MongoDB的所有數據.要想備份MongoDB,只要簡單的復制數據目錄中的所有文件即可.
除非伺服器做了完整的fsync,還不允許寫入,否則在運行MongoDB時創建數據目錄的副本並不安全,這樣的備份可能已經
破損了,需要修復.
在運行MongoDB時創建數據目錄的副本並不安全,所以就得先把伺服器關了,再復制數據目錄.但是關閉資料庫就要停止業務.
10.mongomp和mongorestore
mongomp是一種能在運行時備份的方法.mongomp對運行的MongoDB做查詢,然後將所有查到的文檔寫入磁碟.
因為mongomp是一般的客戶端,所以可供運行的MongoDB使用,即便是正在處理其他請求或是執行寫入也沒有問題.
mongomp使用普通的查詢機制,所以產生的備份不一定是伺服器數據的實時快照.伺服器在備份過程中處理寫入時,非常明顯.
mongomp備份時的查詢會對其他客戶端的性能產生影響.
mongomp --help 獲得幫助
mongorestore是從備份中恢復數據的工具.
mongorestore獲取mongomp 的輸出結果,並將備份的數據插入運行的MongoDB實例中.
如:將資料庫test備份到backup目錄
mongomp -d test -o backup
使用mongorestore 恢復到testNew 資料庫
mongorestore -d testNew --drop backup/test/
-d指定要恢復的資料庫.--drop指在恢復前刪除集合(若存在),否則數據就會與現有集合數據合並,可能會覆蓋一些文檔.
可以使用mongorestore --help獲得幫助信息
11.fsync和鎖
雖然使用mongomp和mongorestore能不停機備份,但是卻失去了獲取實時數據視圖的能力.MongoDB的fsync命令
能在MongoDB運行時復制數據目錄還不會損壞數據.
fsync命令會強制伺服器將所有緩沖區寫入磁碟.還可以選擇上鎖住址對資料庫的進一步寫入,知道釋放鎖為止.寫入鎖是讓
fsync在備份時發揮作用的關鍵.
在shell中,強制執行fsync並獲得寫入鎖:
db.runCommand({"fsync":1,"lock":1})
這時,數據目錄的數據就是一致的,且為數據的實時快照.因為上了鎖,可以安全的將數據目錄副本作為備份.要是資料庫運行在
有快照功能的文件系統上時,比如LVM,EBS,這個很有用,因為拍個資料庫目錄的快照很快.
備份好了,解鎖:
db.$cmd.sys.unlock.findOne()
db.currentOp()
運行db.currentOp()是為了確保已經解鎖了(初次請求解鎖會花點時間)
有了fsync命令,就能非常靈活的備份,不用停掉伺服器,也不用犧牲備份的實時性能.要付出的代價就是一些寫入操作被
暫時阻塞了.唯一不耽誤讀寫還能保證實時快照的備份方式就是通過從伺服器備份.
12.從屬備份
雖然上面的備份方式很靈活,但都沒有從伺服器上備份好.當復制的方式運行MongoDB,前面的提到的備份技術就不僅能用在
主伺服器上,也可用在從伺服器上.從伺服器的數據幾乎與主伺服器同步.因為不太在乎從屬伺服器的性能或者是能不能讀寫,
於是就能隨意選擇上面的3種備份方式:關停,轉存或恢復工具或fsync命令.從伺服器上備份是MongoDB推薦的備份方式.
13.修復
MongoDB的存儲方式不能保證磁碟上的數據還能用,因為可能有損毀.MongoDB內置的修復功能會試著恢復損壞的數據文件.
未正常停止MongoDB後應該修復資料庫.修復資料庫的方式很簡單就是 mongod --repair 來啟動伺服器.
修復資料庫的實際過程很簡單:將所有的文檔導出後馬上導入,忽略無效的文檔.完成後,會重建索引.數據量大的話,會花很多時間,
因為所有數據都要驗證,所有索引都要重建(從MongoDB 1.8 以後版本引入了日誌系統,使修復時間打打的縮短).
修復後可能會比修復前少些文檔,因為損壞的文檔被刪除了.
修復資料庫還能起到壓縮數據的作用.閑置控制項(如刪除體積較大集合,或刪除大量文檔後騰出的空間)在修復後會被重新利用.
修復運行中的伺服器上的資料庫,要在shell用repairDatabases.
use test
db.repairDatabase()
『陸』 mongodb副本集備份時需要oplog嗎
作為一個合格的dba((⊙o⊙)…我是菜鳥),備份應該是重中之重,就像『兵馬未動糧草先行』,完善的備份可以救你一命啊,切記,切記!
那麼mongodb副本集備份時到底需要oplog嗎?
1、先看作用:
mongomp --oplog會記錄備份期間對數據的修改到oplog.bson中
這樣mongorestore --oplogReplay會在恢復完數據後重放該oplog.bson
文件。
2、用--oplog選項的好處:
備份時,用戶還可以向伺服器寫入數據,因此備份過程對用戶透明。
3、在分片集群(每個分片是一個副本集)中為什麼不用--oplog?
(1)為了保證備份的數據是某一時刻的數據。
(2)因為配置伺服器和分片上的數據是單獨備份的,在備份時,
用戶同時寫入數據的話,可能導致數據不一致:
如:
步驟1-全備配置伺服器;(正常完成)
步驟2-全備分片;
步驟3-用戶寫入數據;(此時步驟2還在運行)
結果:配置伺服器沒有記錄用戶寫入的數據,恢復後,這些數據無法通過路由找到,即丟失數據了。
4、如何備份分片集群:
自己寫了個工具,沒有用--oplog選項,而是單獨備份oplog.rs集合,同時鎖住了資料庫(一定不要鎖primary,否則此時用戶無法寫入數據,而且如果用戶恰好在備份期間寫入會導致mongodb掛起)。
『柒』 求C#實現還原和備份MongoDB資料庫的方法,貼代碼比較好。
backup database MongoDB to disk='d:\MongoDB.bak'
restore database MongoDB from disk='d:\MongoDB.bak'
『捌』 mongodb刪除資料庫後怎麼恢復
方法/步驟
在mongodb的官方上search mongomp沒有相應的資料,自己就在shell命令行裡面 :
/data/mongodb-linux-x86_64-1.6.0/bin/mongomp --help 了一把, 自己來測試了,測試總結如下:
備份本機mongodb到/tmp/bakup目錄下面:[root@localhost csf]# /data/mongodb-linux-x86_64-1.6.0/bin/mongomp -h 192.168.0.39:10001 -d csf -o /backup/mongodb
將/tmp/backup 下面的文件導入資料庫:[root@localhost csf]#/data/mongodb-linux-x86_64-1.6.0/bin/mongorestore -h 192.168.0.39:10001 -d csf -drop --directoryperdb /backup/mongodb/csf/
【注釋】--drop參數,有此參數,則表示,先刪除所有的記錄,然後恢復。如無此參數,則恢復備份時候的數據,備份之後新增加的數據依然存在;/backup/mongodb則是備份文件存放路徑
『玖』 求助,mongodb如何恢復誤刪數據
方法/步驟
在mongodb的官方上search mongomp沒有相應的資料,自己就在shell命令行裡面 :
/data/mongodb-linux-x86_64-1.6.0/bin/mongomp --help 了一把, 自己來測試了,測試總結如下:
備份本機mongodb到/tmp/bakup目錄下面:[root@localhost csf]# /data/mongodb-linux-x86_64-1.6.0/bin/mongomp -h 192.168.0.39:10001 -d csf -o /backup/mongodb
將/tmp/backup 下面的文件導入資料庫:[root@localhost csf]#/data/mongodb-linux-x86_64-1.6.0/bin/mongorestore -h 192.168.0.39:10001 -d csf -drop --directoryperdb /backup/mongodb/csf/
【注釋】--drop參數,有此參數,則表示,先刪除所有的記錄,然後恢復。如無此參數,則恢復備份時候的數據,備份之後新增加的數據依然存在;/backup/mongodb則是備份文件存放路徑
『拾』 單庫 mongodb 怎麼備份
在mongodb的官方上search mongomp沒有相應的資料,自己就在shell命令行裡面 :
/data/mongodb-linux-x86_64-1.6.0/bin/mongomp --help 了一把, 自己來測試了,測試總結如下:
備份本機mongodb到/tmp/bakup目錄下面:[root@localhost csf]# /data/mongodb-linux-x86_64-1.6.0/bin/mongomp -h 192.168.0.39:10001 -d csf -o /backup/mongodb
將/tmp/backup 下面的文件導入資料庫:[root@localhost csf]#/data/mongodb-linux-x86_64-1.6.0/bin/mongorestore -h 192.168.0.39:10001 -d csf -drop --directoryperdb /backup/mongodb/csf/
【注釋】--drop參數,有此參數,則表示,先刪除所有的記錄,然後恢復。如無此參數,則恢復備份時候的數據,備份之後新增加的數據依然存在;/backup/mongodb則是備份文件存放路徑
,