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

相关推荐
时差95333 分钟前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
让学习成为一种生活方式35 分钟前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
秋意钟1 小时前
MySQL日期类型选择建议
数据库·mysql
Dxy12393102162 小时前
python下载pdf
数据库·python·pdf
桀桀桀桀桀桀2 小时前
数据库中的用户管理和权限管理
数据库·mysql
superman超哥4 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
用户8007165452004 小时前
HTAP数据库国产化改造技术可行性方案分析
数据库
engchina4 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
engchina4 小时前
使用 Cypher 查询语言在 Neo4j 中查找最短路径
数据库·neo4j
尘浮生4 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea