時(shí)間:2024-03-26 14:41作者:下載吧人氣:24
前言
前段時(shí)間,個(gè)人小程序 因服務(wù)器磁盤空間被占滿,導(dǎo)致MongoDB掛了。清理了一些無用的數(shù)據(jù)后,重啟MongoDB,竟然無法啟動(dòng),一番折騰(20分鐘)后,總算修復(fù)了。這讓我意識(shí)到:雖然是個(gè)人小項(xiàng)目,但也必須定期備份啊,否則數(shù)據(jù)丟了很尷尬的說。
碎碎念
我不是MongoDB高手,之所以選擇MongoDB,是因?yàn)樾枨蟛幻鞔_——MongoDB很適合不明確需求場景的開發(fā)。
個(gè)人對Elasticsearch更熟悉,Elasticsearch也很適合不定需求的業(yè)務(wù)開發(fā);但個(gè)人服務(wù)器只有1G內(nèi)存,用Elasticsearch得升級服務(wù)器,得花好多錢啊啊啊。
MongoDB備份比較簡單,只需用內(nèi)置的 mongodump 即可,命令格式如下:
mongodump -h {mongodb主機(jī)名}:{端口} -u {賬號} -p {密碼} -d {數(shù)據(jù)庫名稱} -o {存儲(chǔ)路徑}
然而,筆者為MongoDB設(shè)置的密碼是帶有特殊字符的,例如 @#$ 之類,直接以如上形式執(zhí)行命令,會(huì)報(bào)錯(cuò)!
所以筆者選擇不帶 -p 參數(shù)執(zhí)行命令,即:
mongodump -h {mongodb主機(jī)名}:{端口} -u {賬號} -d {數(shù)據(jù)庫名稱} -o {存儲(chǔ)路徑}
然后,命令提示符會(huì)提示輸入密碼。例如
# mongodump -h 127.0.0.1 -u user -d itmuch -o /tmp/somepathEnter password:
網(wǎng)友評論