MongoDB
安装与使用
服务器命令
数据命令
复制(副本集)
备份与恢复
监控指标
MongoDB集群(docker)
本文档使用MrDoc发布
返回首页
-
+
备份与恢复
2021年6月23日 12:01
admin
#下载链接 wget https://www.mongodb.com/try/download/database-tools ![](/media//202106/2021-06-23145006130758.png) --- #安装 yum install cyrus-sasl* #安装依赖 wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.3.1.rpm rpm -iUvh mongodb-database-tools-rhel70-x86_64-100.3.1.rpm --- #使用 ##备份数据库 #单库备份 mongodump -d ${dbname} -u${dbuser} -p${dbpass} -o /opt/mongodb_`date +%Y%m%d_%H%M`/${dbname} #参数: -d 指定需要备份的某个库 -u 指定库的用户名 -p 用户名的密码 -o 备份文件输出路径 ----------------------------------------------------------------- #全库备份 mongodump -u${dbuser} -p${dbpass} -o /opt/mongodb_`date +%Y%m%d_%H%M` #全库备份 mkdir /mongodb/backup mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -o /mongodb/backup #备份world库 $ mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -d world -o /mongodb/backup/ #备份oldboy库下的log集合 $ mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -d oldboy -c log -o /mongodb/backup/ #压缩备份 $ mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -d oldguo -o /mongodb/backup/ --gzip mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -o /mongodb/backup/ --gzip $ mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -d app -c vast -o /mongodb/backup/ --gzip $复制集全库压缩备份 $mongodump --host jiektRS/192.168.75.30:37017,192.168.75.31:37017,192.168.75.32:37017 -uroot -p 'rootroot' --authenticationDatabase admin -o /home/mongo/dmp --gzip --- ##恢复数据库 #单库恢复 mongorestore -u ${dbuser} -p ${dbpass} -d ${dbname} /opt/mongodb_`date +%Y%m%d_%H%M`/${dbname} #全库恢复 mongorestore -u ${dbuser} -p ${dbpass} /opt/mongodb_`date +%Y%m%d_%H%M` #压缩文件恢复 mongorestore -d d9cloud_op ./d9cloud_op/ --gzip --- ##备份表 mongodump --collection COLLECTION_NAME --db DB_NAME -u${dbuser} -p${dbpass} -o /opt/mongodb_`date +%Y%m%d_%H%M`/DB_NAME/COLLECTION_NAME --- ##恢复表 mongorestore --collection COLLECTION_NAME --db DB_NAME -u${dbuser} -p${dbpass} /opt/mongodb_`date +%Y%m%d_%H%M`/DB_NAME/COLLECTION_NAME --- #导出 #导出类型为json,数据库:mapdb,集合:bike 字段:bikeId,lat,lng,current_time,source ,条件为source字段为ofo第一条数据 mongoexport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike -f bikeId,lat,lng,current_time,source --type=json -o bike.csv --query='{"source":"ofo"}' --limit=1 ------------------------------------------------------- #导出类型为csv,数据库:mapdb,集合:bike 字段:bikeId,lat,lng,current_time,source ,条件为source字段为ofo第一条数据 mongoexport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike -f bikeId,lat,lng,current_time,source --type=csv -o bike.csv --query='{"source":"ofo"}' --limit=1 --- #参数 -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库; --port:代表远程连接的数据库的端口,默认连接的远程端口27017; -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号; -p,--password:代表连接数据库的账号对应的密码; -d,--db:代表连接的数据库; -c,--collection:代表连接数据库中的集合; -f, --fields:代表集合中的字段,可以根据设置选择导出的字段; --type:代表导出输出的文件类型,包括csv和json文件; -o, --out:代表导出的文件名; -q, --query:代表查询条件; --skip:跳过指定数量的数据; --limit:读取指定数量的数据记录; --sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。 --- #导入 mongoimport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike_bak --type=json --file bike.csv --- #参数: -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库; --port:代表远程连接的数据库的端口,默认连接的远程端口27017; -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号; -p,--password:代表连接数据库的账号对应的密码; -d,--db:代表连接的数据库; -c,--collection:代表连接数据库中的集合; -f, --fields:代表导入集合中的字段; --type:代表导入的文件类型,包括csv和json,tsv文件,默认json格式; --file:导入的文件名称 --headerline:导入csv文件时,指明第一行是列名,不需要导入;
分享到: