mongodb的备份和修复
//备份
mongodump -d test -o backup //把test数据库备份到backup文件夹下
//恢复
mongorestore -d foo --drop backup/test/ 把备份的test数据库恢复到数据库foo中
//备份前加锁
use admin
db.runCommand({"fsync":1,"lock":1})//返回{"info":"...","ok":1}
//解锁
db.$cmd.sys.unlock.findOne();//返回{"ok":1,"info":"unlock requested"}
db.cuurentOp();//为了确保已经解锁,返回{"inprog":[]}
//修复
未能正常停止MongoDb后应该修复数据库。要是未正常停止,下次启动服务器备份时MongoDb会提示
修复所有数据库最简单的方式就是 加上--repair;mongod --repair 来启动服务。
//修复数据库还能起到压缩数据的作用。闲置的空间在修复后被重新回收。
use test
db.repairDatabases()
通过驱动程序的话是:
{"repairDatabases":1}
已有 0 条评论