mongodb 怎么查詢(xún)節(jié)點(diǎn)下的數(shù)據(jù) 如何做好mongodb的數(shù)據(jù)備份?
如何做好mongodb的數(shù)據(jù)備份?文檔數(shù)據(jù)庫(kù)你服務(wù)是云服務(wù)商重要的是的數(shù)據(jù)庫(kù)服務(wù)產(chǎn)品之一,而數(shù)據(jù)庫(kù)的備份與恢復(fù)功能是數(shù)據(jù)庫(kù)容災(zāi)最重要且必不可少的手段。文檔數(shù)據(jù)庫(kù)云服務(wù)能提供了數(shù)據(jù)庫(kù)的備份與恢復(fù)功能,但
如何做好mongodb的數(shù)據(jù)備份?
文檔數(shù)據(jù)庫(kù)你服務(wù)是云服務(wù)商重要的是的數(shù)據(jù)庫(kù)服務(wù)產(chǎn)品之一,而數(shù)據(jù)庫(kù)的備份與恢復(fù)功能是數(shù)據(jù)庫(kù)容災(zāi)最重要且必不可少的手段。文檔數(shù)據(jù)庫(kù)云服務(wù)能提供了數(shù)據(jù)庫(kù)的備份與恢復(fù)功能,但我們要打聽(tīng)一下其背后的機(jī)制,文檔數(shù)據(jù)庫(kù)服務(wù)常規(guī)的是開(kāi)源的mongoDB,也就就要先從mongoDB數(shù)據(jù)庫(kù)的備份和恢復(fù)機(jī)制入手。mongoDB的數(shù)據(jù)庫(kù)備份恢復(fù)機(jī)制通常有兩種,
一是建議使用自帶的mongodumpampmongorestore工具;
二是基于組件數(shù)據(jù)文件的備份和恢復(fù)。
現(xiàn)詳細(xì)的闡述闡明萬(wàn)分感謝:
一、mongodump與mongorestore
1、mongodump主要是用于把數(shù)據(jù)庫(kù)內(nèi)容以BSON文件備份,可主要用于備份實(shí)時(shí)地不運(yùn)行的數(shù)據(jù)庫(kù)(無(wú)須擋住也可以關(guān)閉數(shù)據(jù)庫(kù));軟件備份命令行:$mongodump-hlocalhost--port27017執(zhí)行后將數(shù)據(jù)設(shè)置成軟件備份到dump目錄,Dump目錄乾坤二卦每個(gè)集合的所有文檔,乾坤二卦定義用戶(hù)和索引的系統(tǒng)數(shù)學(xué)集合。但索引本身的數(shù)據(jù)不可能真包含到dump目錄里。這意味著恢復(fù)數(shù)據(jù)庫(kù)時(shí)索引不需要重建。如果有太大的數(shù)據(jù)集,或者許多索引,則會(huì)最少很多時(shí)間。2、mongorestore應(yīng)用于無(wú)法讀取BSON文件并復(fù)原它們;復(fù)原命令行:$mongorestore-hlocalhost--port27017dump特別注意當(dāng)復(fù)原數(shù)據(jù)時(shí),mongorestore不會(huì)刪出數(shù)據(jù),因?yàn)橐峭耆謴?fù)的是當(dāng)前的數(shù)據(jù)庫(kù)實(shí)例,就必須保證使用-drop標(biāo)記先執(zhí)行。
二、基于組件數(shù)據(jù)文件的備份
大部分用戶(hù)會(huì)選擇類(lèi)型實(shí)現(xiàn)數(shù)據(jù)庫(kù)文件的備份,直接把遺留下來(lái)的數(shù)據(jù)庫(kù)文件拷貝到別的地方。這個(gè)方法比不使用mongodump快得多,畢竟備份和恢復(fù)不必須轉(zhuǎn)換成數(shù)據(jù)格式。這種任何的問(wèn)題就是它不需要擋住數(shù)據(jù)庫(kù)服務(wù)器,只不過(guò)大多只是因?yàn)椴恍枰獡踝墓?jié)點(diǎn),所以估計(jì)這個(gè)可以在系統(tǒng)備份過(guò)程中保證應(yīng)用到的正常運(yùn)行。以下是不同步的和鎖庫(kù)的命令:gtuseadmingtdb.fsyncLock()命令想執(zhí)行后,實(shí)現(xiàn)寫(xiě)入文件鎖住數(shù)據(jù)庫(kù),且數(shù)據(jù)文件離線到磁盤(pán),此時(shí),就是可以安全的u盤(pán)拷貝數(shù)據(jù)文件了。解鎖碼命令:a8db.fsyncUnlock()也給大家需要提供了思維導(dǎo)圖的展現(xiàn)
三、文檔數(shù)據(jù)服務(wù)能提供的備份恢復(fù)功能
華為云amp天翼云的文檔數(shù)據(jù)服務(wù)能提供了單實(shí)例、副本集和集群三種,三種均提供了備份恢復(fù)功能。先說(shuō)軟件備份,創(chuàng)建角色實(shí)例完成時(shí)會(huì)負(fù)責(zé)執(zhí)行三次全備分,根據(jù)系統(tǒng)備份策略,可以周期性的在設(shè)定的某個(gè)時(shí)間段先執(zhí)行自動(dòng)備份,其實(shí)也提供給了手動(dòng)系統(tǒng)備份的功能。何況恢復(fù),我發(fā)現(xiàn)到?jīng)]有辦法可以恢復(fù)到新的實(shí)例,沒(méi)法完全恢復(fù)到當(dāng)前實(shí)例,,就并不代表沒(méi)有辦法對(duì)當(dāng)前實(shí)例并且災(zāi)難恢復(fù),只能講數(shù)據(jù)恢復(fù)到新的實(shí)例,這樣的話就未知數(shù)據(jù)庫(kù)切換的動(dòng)作,那種感覺(jué)也很納悶,查了產(chǎn)品手冊(cè),倒是如此。是為更接觸了解備份和恢復(fù)的機(jī)制,想要跪求客服的幫助。
四、文檔數(shù)據(jù)服務(wù)可以提供的備份恢復(fù)機(jī)制
針對(duì)肯定不能恢復(fù)到當(dāng)前實(shí)例的問(wèn)題,我在華為云上提了工單,如下:工單提問(wèn):請(qǐng)問(wèn)各位DDS備份的數(shù)據(jù),執(zhí)行復(fù)原操作,有沒(méi)不能可以恢復(fù)到新建實(shí)例,沒(méi)法恢復(fù)到當(dāng)前實(shí)例?客服答復(fù):您好,是只有完全恢復(fù)到新建實(shí)例,又不能知道回答到當(dāng)前實(shí)例這是文字真誠(chéng)的回答,在我提了工單沒(méi)一會(huì),華為云客服就給了我,在確認(rèn)了只提供復(fù)原到新實(shí)例后,就又問(wèn)了怎地不能提供重新恢復(fù)到當(dāng)前實(shí)例,客戶(hù)的答復(fù)說(shuō),因?yàn)閺?fù)原到當(dāng)前實(shí)例很可能未知可以恢復(fù)我失敗了的可能,但是在先執(zhí)行復(fù)原操作前,會(huì)不能執(zhí)行刪除數(shù)據(jù)的操作,這樣的話若是失敗的話,變會(huì)對(duì)保證實(shí)例造成萬(wàn)不可重新恢復(fù)的災(zāi)難。想一系列知道一點(diǎn)華為云的備份恢復(fù)機(jī)制,又提了工單,追加:工單提問(wèn):請(qǐng)問(wèn)DDS的備份和恢復(fù)功能后臺(tái)的實(shí)現(xiàn)機(jī)制是什么?是基于組件快照機(jī)制我還是數(shù)據(jù)文件級(jí)的備份?另外如何實(shí)現(xiàn)程序基于組件時(shí)間點(diǎn)的重新恢復(fù)機(jī)制,謝謝啦!客服得到答復(fù):集群和副本集是復(fù)制物理文件的,單實(shí)例為mongodump的。參照上面第一部分結(jié)算的內(nèi)容就能解釋客服答復(fù)的內(nèi)容了。
emq是什么?
EMQ是設(shè)計(jì)和實(shí)現(xiàn)高并發(fā)的Erlang/OTP語(yǔ)言平臺(tái)設(shè)計(jì),支持什么百萬(wàn)級(jí)連接和分布式集群,首頁(yè)訂閱模式的閉源MQTT消息服務(wù)器
求下載接受MQTTV3.1/V3.1.1協(xié)議規(guī)范,存儲(chǔ)支持WebSocket、Stomp、CoAP、MQTT-SN或土地所有權(quán)TCP協(xié)議
全部剛剛開(kāi)放源碼
設(shè)計(jì)和實(shí)現(xiàn)Apache Version2.0閉源協(xié)議
百萬(wàn)級(jí)并發(fā)連接到
單節(jié)點(diǎn)100萬(wàn)并發(fā)MQTT直接連接峰值負(fù)載
發(fā)下MQTT協(xié)議支持
MQTTV3.1.1協(xié)議規(guī)范QoS0/1/2消息支持
簡(jiǎn)便安裝部署
跨平臺(tái)防御部署在Linux、FreeBSD、Mac OS X或Windows服務(wù)器
分布式集群或橋接
雙節(jié)點(diǎn)負(fù)載均衡或多節(jié)點(diǎn)分布式集群
信號(hào)模塊與插件LDAP,MySQL,PostgreSQL,Redis,MongoDB存儲(chǔ)插件獨(dú)立顯卡