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

相关推荐
风123456789~1 小时前
【OceanBase专栏】脚本调用OB过程实验
数据库·oceanbase
爬山算法5 小时前
Redis(158)Redis的主从同步问题如何解决?
数据库·redis·缓存
2501_941148158 小时前
多语言微服务架构与边缘计算技术实践:Python、Java、C++、Go深度解析
数据库
w***z509 小时前
MYSQL 创建索引
数据库·mysql
章鱼哥7309 小时前
[特殊字符] SpringBoot 自定义系统健康检测:数据库、Redis、表统计、更新时长、系统性能全链路监控
java·数据库·redis
5***E6859 小时前
MySQL:drop、delete与truncate区别
数据库·mysql
记得记得就15110 小时前
【MySQL数据库管理】
数据库·mysql·oracle
Austindatabases10 小时前
给PG鸡蛋里面挑骨头--杭州PostgreSQL生态大会
数据库·postgresql
秃了也弱了。10 小时前
MySQL空间函数详解,MySQL记录经纬度并进行计算
android·数据库·mysql
星环处相逢11 小时前
MySQL数据库管理从入门到精通:全流程实操指南
数据库·mysql