mongoDB - 日常操作三

MongoDB 进程控制

进程控制

db.currentOp() # 查看活动进程
db.$cmd.sys.inprog.findOne() # 查看活动进程 与上面一样
opid # 操作进程号 op # 操作类型(查询\更新) ns # 命名空间,指操作的是哪个对象 query # 如果操作类型是查询,这里将显示具体的查询内容 lockType # 锁的类型,指明是读锁还是写锁 db.killOp(opid值) # 结束进程 db.$cmd.sys.killop.findOne({op:opid值}) # 结束进程

 

MongoDB 备份 还原

MongoDB备份方式 

./mongoexport -d test -c t1 -o t1.dat # 导出JSON格式 -c # 指明导出集合 -d # 使用库 ./mongoexport -d test -c t1 -csv -f num -o t1.dat # 导出csv格式 -csv # 指明导出csv格式 -f # 指明需要导出那些例

 

  MongoDB 数据还原 操作

MongoDB 还原方式

db.t1.drop() # 登录后删除数据
.
/mongoimport -d test -c t1 -file t1.dat   
# mongoimport还原JSON格式
.
/mongoimport -d test -c t1 -type csv --headerline -file t1.dat   
# mongoimport还原csv格式数据
--headerline # 指明不导入第一行 因为第一行是列名 ./mongodump -d test -o /bak/mongodump
# mongodump数据备份
.
/mongorestore -d test --drop /bak/mongodump/*
# mongorestore恢复 --drop #恢复前先删除
db.t1.find() #查看 # mongodump 虽然能不停机备份,但市区了获取实时数据视图的能力,使用fsync命令能在运行时复制数据目录并且不会损坏数据 # fsync会强制服务器将所有缓冲区的数据写入磁盘.配合lock还阻止对数据库的进一步写入,知道释放锁为止 # 备份在从库上备份,不耽误读写还能保证实时快照备份 db.runCommand({"fsync":1,"lock":1}) # 执行强制更新与写入锁 db.$cmd.sys.unlock.findOne() # 解锁 db.currentOp() # 查看解锁是否正常

MongoDB 数据修复

# 当停电或其他故障引起不正常关闭时,会造成部分数据损坏丢失
./mongod --repair # 修复操作:启动时候加上 --repair
# 修复过程:将所有文档导出,然后马上导入,忽略无效文档.完成后重建索引。时间较长,会丢弃损坏文档 # 修复数据还能起到压缩数据库的作用
db.repairDatabase() # 运行中的mongodb可使用 repairDatabase 修复当前使用的数据库 {
"repairDatabase":1} # 通过驱动程序

 

posted @ 2018-04-01 21:47  01234567  阅读(174)  评论(0编辑  收藏  举报