mongo备份

mongodb的所有数据都放在数据目录下,要想备份mongodb,只需要简单创建数据目录中所有文件的副本就可以了。
mongo的话是可以不关服务器就行备份的,但是这样的话不太安全,最好是先把服务器关了。
使用mongodump可以就行数据库备份

mongodump -d test -o backup %%将数据库test备份到backup

使用mongorestore就行数据库的恢复

mongorestore -d foo --drop backup/test %%-d指定了要恢复的数据库,可以将备份恢复到与原来不同名的数据库中。

mongodump和mongorestore可以不停机备份,但是却失去了获取实时数据的能力,此时可以使用fsync在mongodb运行时复制数据目录还不会损害数据
fsync强制将所有缓存区写入磁盘,并且上锁阻止对数据库的进一步写入直到释放锁为止

db.runCommand({"fsync":1,"lock":1}) %%进行上锁操作
db.$cmd.sys.unlock.findOne() %%解锁操作
db.currentOp() %%确保已经解锁了

上面的复制方式不仅能用在主服务器上,也可以用在从服务器上,而且效果更好,几乎与主服务器同步,因为并不在乎从服务器的性能好坏或是否能读写。

你可能感兴趣的:(mongodb)