mongodb的备份与恢复

查询语句

show dbs

use leshusanguo

show tables

db.user.find()

db.user.find({},{'uid':1,'nickname':1,'max_level':1})

db.user.find({'max_level':1},{'uid':1,'nickname':1,'max_level':1})

db.user.count()

db.user.find({'max_level':1,'uid':672064,},{'uid':1,'nickname':1,'max_level':1})

db.user.remove({'max_level':1,'uid':672064})

db.user.remove({'max_level':1})

一、备份数据库

全库备份

mkdir /root/backup/

mongodump --port 27017 -o /root/backup/

只备份某些库(推荐)

mkdir /root/backup0309/

mongodump --port 27017 -d leshusanguo -o /root/backup0309/

压缩备份(文件夹中会生成.gz结尾的压缩包文件)

mongodump --port 27017 -o /root/backup/ --gzip

mongodump --port 27017 -d leshusanguo -o /root/backup0309/ --gzip

只备份某个库中的某个表为json格式

mongoexport --port 27017 -d leshusanguo -c user -o /root/backup/user.json

带查询条件的导出(设定条件:某库某表中某列值等于1)

mongoexport --port 27017 -d leshusanguo -c user -q '{"max_level":1}' -o /root/backup/user2.json

二、恢复数据库

再恢复数据的时候数据不可以存在,否则会报错无法插入,也可以用--drop 参数强制恢复

mongorestore --port 27017 -d leshusanguo /root/backup0309/ --drop

备份好以后,先删除数据再恢复

实践案例:

show dbs

use leshusanguo

show tables (可省)

db.user.find() (可省)

db.dropDatabase()

show dbs (可省)

mongorestore --port 27017 -d leshusanguo /root/backup0309/ --drop

show dbs

参考原文:

blog.csdn.net/m0_58833554/article/details/132763205

相关推荐
时序数据说1 小时前
为什么时序数据库IoTDB选择Java作为开发语言
java·大数据·开发语言·数据库·物联网·时序数据库·iotdb
戒不掉的伤怀1 小时前
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
服务器·数据库·mysql
cv高级工程师YKY2 小时前
服务器 - - QPS与TPS介绍
数据库
nbsaas-boot2 小时前
高可扩展属性建模设计:架构师的全局思考与落地方案
数据库
爱上语文2 小时前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端
陈敬雷-充电了么-CEO兼CTO3 小时前
推荐算法系统系列>推荐数据仓库集市的ETL数据处理
大数据·数据库·数据仓库·数据挖掘·数据分析·etl·推荐算法
MeshddY3 小时前
(超详细)数据库项目初体验:使用C语言连接数据库完成短地址服务(本地运行版)
c语言·数据库·单片机
wuxinyan1233 小时前
Java面试题033:一文深入了解MySQL(5)
java·数据库·mysql·面试
萧曵 丶3 小时前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步
胡斌附体3 小时前
mobaxterm终端sqlplus乱码问题解决
数据库·乱码·sqlplus·字符集设置