mongodump備份文件
<pre>
/home/dhcd/bin/mongodump --host $HOST --port $LOGIC_PORT_1 --out $TAR_FILE_PATH_1
</pre>
本來(lái)不打算壓縮文件涉馁,可是每天全量dump谦絮,過(guò)不了幾天贤斜,總數(shù)據(jù)就開始上G了。所以這里為了節(jié)約空間竹习,一定要壓縮文件。
壓縮文件
</pre>
tar -zcf 20150623.tar.gz 20150623
</pre>
560M的文件直接壓縮為70M
解壓縮文件
<pre>
tar -xf 20150623.tar.gz
</pre>
mongorestore恢復(fù)命令
<pre>
mongorestore --host $HOST --port $PORT --dir $FILE_PATH
</pre>
- mongorestore首先要保證mongod進(jìn)程存在
- mongorestore恢復(fù)過(guò)程做的都是insert操作列牺,如果設(shè)置了唯一性索引由驹,這里插入會(huì)報(bào)錯(cuò),所以,如果全量恢復(fù)蔓榄,需要?jiǎng)h除之前的數(shù)據(jù)庫(kù)并炮;
- mongoretore會(huì)保存之前的索引信息,索引可以通過(guò)
<pre>
db.getIndexes()
</pre>
查看 - mongodump出來(lái)的是bson甥郑,已經(jīng)是二進(jìn)制文件了
- 如果只需要恢復(fù)一個(gè)collection逃魄,那么按照
<pre>
mongorestore --port $PORT --dir $DIR --db $DB_NANME --collection $COL_NAME
</pre>
比如
<pre>
mongorestore --port 27000 --dir /tmp/tmp/mongodb_backup/logic1/20150630/hookHeroes/market.bson --db hookHeroes --collection market
</pre>
安全關(guān)閉mongo命令:
<pre>
db.shutdownServer()
</pre>
刪除數(shù)據(jù)庫(kù)命令
<pre>
use a
db.dropDatabase()
</pre>
刪除collection命令
<pre>
db.collection.remove()
</pre>