今天就跟大家聊聊有关MongoDB中怎么实现备份与恢复,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一 mongoexport/mongoimport[root@svnhost bin]# pwd/usr/local/mongodb/bin[root@svnhost bin]# ./mongoexport –help导出chendb下test01表[root@svnhost bin]# ./mongoexport -d chendb -c test01 -o /mongobak/chendb_test01.bak[root@svnhost bin]# ./mongoexport -d chendb -c test02 -o /mongobak/chendb_test02.bak查看备份内容[root@svnhost bin]# cat /mongobak/chendb_test01.bak{“_id”:{“$oid”:”5b8f418f1c1560b2bb03cb7b”},”url”:”www.sina.com”}{“_id”:{“$oid”:”5b8f41c51c1560b2bb03cb7c”},”url”:”ccc – 10″}…..{“_id”:{“$oid”:”5b8f41d81c1560b2bb03cb90″},”url”:19.0}{“_id”:{“$oid”:”5b8f41d81c1560b2bb03cb91″},”url”:20.0}{“_id”:{“$oid”:”5b8f74e51c1560b2bb03cb92″},”url”:”www.baidu.com”}恢复单表将test01表恢复并重命名为test01aaa[root@svnhost ~]# cd /usr/local/mongodb/bin/[root@svnhost bin]# ./mongoimport -d chendb -c test01aaa /mongobak/chendb_test01.bak2018-09-05T17:39:09.592+0800
connected to: localhost2018-09-05T17:39:09.807+0800
imported 24 documentsMongoDB Enterprise > show collectionstest01test01aaatest02查看数据MongoDB Enterprise > db.test01aaa.find(){ “_id” : ObjectId(“5b8f41c51c1560b2bb03cb7c”), “url” : “ccc – 10” }{ “_id” : ObjectId(“5b8f41c51c1560b2bb03cb7d”), “url” : “ccc – 11” }{ “_id” : ObjectId(“5b8f41c51c1560b2bb03cb7e”), “url” : “ccc – 12” }…..{ “_id” : ObjectId(“5b8f41d81c1560b2bb03cb90”), “url” : 19 }{ “_id” : ObjectId(“5b8f41d81c1560b2bb03cb91”), “url” : 20 }{ “_id” : ObjectId(“5b8f74e51c1560b2bb03cb92”), “url” : “www.baidu.com” }删除表,模拟故障MongoDB Enterprise > show collectionstest01test01aaatest02MongoDB Enterprise > db.test02.drop()trueMongoDB Enterprise > 免费云主机域名db.test02.find()恢复表test02[root@svnhost bin]# ./mongoimport -d chendb -c test02 /mongobak/chendb_test02.bak2018-09-05T17:49:47.912+0800
connected to: localhost2018-09-05T17:49:48.089+0800
imported 1 document查看数据MongoDB Enterprise > db.test02.find(){ “_id” : ObjectId(“5b8f752f943b3cbaa33a5518”), “url” : “www.baidu.com” }二 mongodump/mongorestore[root@svnhost bin]# ./mongodump –help备份chendb全库root@svnhost bin]# ./mongodump -d chendb -o /mongobak/db_backup/2018-09-06T10:24:19.545+0800
writing chendb.test01 to2018-09-06T10:24:19.545+0800
writing chendb.test02 to2018-09-06T10:24:19.546+0800
writing chendb.test01aaa to2018-09-06T10:24:19.547+0800
done dumping chendb.test01 (24 documents)2018-09-06T10:24:19.563+0800
done dumping chendb.test02 (1 document)2018-09-06T10:24:19.579+0800
done dumping chendb.test01aaa (24 documents)查看备份文件[root@svnhost bin]# unset LANG[root@svnhost bin]# ll -rth /mongobak/db_backup/chendb/ total 24K-rw-r–r– 1 root root 127 Sep 6 10:24 test01.metadata.json-rw-r–r– 1 root root 127 Sep 6 10:24 test02.metadata.json-rw-r–r– 1 root root 130 Sep 6 10:24 test01aaa.metadata.json-rw-r–r– 1 root root 914 Sep 6 10:24 test01.bson-rw-r–r– 1 root root 45 Sep 6 10:24 test02.bson-rw-r–r– 1 root root 914 Sep 6 10:24 test01aaa.bson备份MongoDB下全部数据库[root@svnhost bin]# ./mongodump -o /mongobak/db_fullbackup/2018-09-06T10:28:35.465+0800
writing admin.system.version to2018-09-06T10:28:35.465+0800
done dumping admin.system.version (1 document)2018-09-06T10:28:35.465+0800
writing chendb.test01 to2018-09-06T10:28:35.465+0800
writing chendb.test01aaa to2018-09-06T10:28:35.465+0800
writing chendb.test02 to2018-09-06T10:28:35.466+0800
done dumping chendb.test01 (24 documents)2018-09-06T10:28:35.466+0800
done dumping chendb.test02 (1 document)2018-09-06T10:28:35.482+0800
done dumping chendb.test01aaa (24 documents)指定用户名密码和端口进行备份[root@svnhost bin]# ./mongodump -d chendb -o /mongobak/newdbbackup -u cjc -p cjc –port 270172018-09-06T16:37:45.209+0800
writing chendb.test01aaa to2018-09-06T16:37:45.209+0800
writing chendb.test01bbb to2018-09-06T16:37:45.209+0800
writing chendb.test01 to2018-09-06T16:37:45.209+0800
writing chendb.test02 to2018-09-06T16:37:45.250+0800
done dumping chendb.test02 (1 document)2018-09-06T16:37:45.252+0800
done dumping chendb.test01bbb (24 documents)2018-09-06T16:37:45.252+0800
done dumping chendb.test01aaa (24 documents)2018-09-06T16:37:45.277+0800
done dumping chendb.test01 (24 documents)备份chendb库中test01表[root@svnhost bin]# ./mongodump -d chendb -c test01 -o /mongobak/chendb_test01/2018-09-06T10:42:39.354+0800
writing chendb.test01 to2018-09-06T10:42:39.354+0800
done dumping chendb.test01 (24 documents)查看备份[root@svnhost bin]# ll -rth /mongobak/chendb_test01/chendb/total 8.0K-rw-r–r– 1 root root 127 Sep 6 10:42 test01.metadata.json-rw-r–r– 1 root root 914 Sep 6 10:42 test01.bson恢复单表[root@svnhost bin]# pwd/usr/local/mongodb/bin[root@svnhost bin]# mongorestore -d chendb -c test01bbb /mongobak/chendb_test01/chendb/test01.bson2018-09-06T15:43:22.572+0800
checking for collection data in /mongobak/chendb_test01/chendb/test01.bson2018-09-06T15:43:22.572+0800
reading metadata for chendb.test01bbb from /mongobak/chendb_test01/chendb/test01.metadata.json2018-09-06T15:43:22.755+0800
restoring chendb.test01bbb from /mongobak/chendb_test01/chendb/test01.bson2018-09-06T15:43:22.816+0800
no indexes to restore2018-09-06T15:43:22.816+0800
finished restoring chendb.test01bbb (24 documents)2018-09-06T15:43:22.816+0800
done查看数据MongoDB Enterprise > db.test01bbb.find(){ “_id” : ObjectId(“5b8f41d81c1560b2bb03cb87”), “url” : 10 }{ “_id” : ObjectId(“5b8f41d81c1560b2bb03cb88”), “url” : 11 }……{ “_id” : ObjectId(“5b8f41d81c1560b2bb03cb90”), “url” : 19 }{ “_id” : ObjectId(“5b8f74e51c1560b2bb03cb92”), “url” : “www.baidu.com” }恢复单个数据库并重命名为chendbaaa[root@svnhost bin]# mongorestore -d chendbaaa /mongobak/db_backup/chendb2018-09-06T15:52:04.586+0800
the –db and –collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use –nsInclude instead2018-09-06T15:52:04.586+0800
building a list of collections to restore from /mongobak/db_backup/chendb dir2018-09-06T15:52:04.587+0800
reading metadata for chendbaaa.test01 from /mongobak/db_backup/chendb/test01.metadata.json2018-09-06T15:52:04.587+0800
reading metadata for chendbaaa.test01aaa from /mongobak/db_backup/chendb/test01aaa.metadata.json2018-09-06T15:52:04.756+0800
restoring chendbaaa.test01aaa from /mongobak/db_backup/chendb/test01aaa.bson2018-09-06T15:52:04.940+0800
restoring chendbaaa.test01 from /mongobak/db_backup/chendb/test01.bson2018-09-06T15:52:04.944+0800
no indexes to restore2018-09-06T15:52:04.944+0800
finished restoring chendbaaa.test01aaa (24 documents)2018-09-06T15:52:04.944+0800
no indexes to restore2018-09-06T15:52:04.944+0800
finished restoring chendbaaa.test01 (24 documents)2018-09-06T15:52:04.944+0800
reading metadata for chendbaaa.test02 from /mongobak/db_backup/chendb/test02.metadata.json2018-09-06T15:52:05.098+0800
restoring chendbaaa.test02 from /mongobak/db_backup/chendb/test02.bson2018-09-06T15:52:05.102+0800
no indexes to restore2018-09-06T15:52:05.102+0800
finished restoring chendbaaa.test02 (1 document)2018-09-06T15:52:05.102+0800
done查看数据库MongoDB Enterprise > show dbsadmin 0.000GBchendb 0.000GBchendbaaa 0.000GBconfig 0.000GBlocal 0.000GBMongoDB Enterprise > use chendbaaaswitched to db chendbaaaMongoDB Enterprise > show collectionstest01test01aaatest02MongoDB Enterprise > db.test02.find(){ “_id” : ObjectId(“5b8f752f943b3cbaa33a5518”), “url” : “www.baidu.com” }三 自动备份
备份计划任务[root@cjcos ~]# crontab -l01 03 * * * /dbbackup/mongodb/mongo_bak.sh备份脚本备份实例27017、27018、27019下所有数据库并自动删除2020开头,3天前的所有备份文件[root@cloud3 ~]# cat /dbbackup/mongodb/mongo_bak.sh#!/bin/bashDATE=`date +%Y_%m_%d`mkdir -p /dbbackup/mongodb/$DATE/{27017,27018,27019}/kingdee/mongodb/bin/mongodump -o /dbbackup/mongodb/$DATE/27017 –port 27017/kingdee/mongodb/bin/mongodump -o /dbbackup/mongodb/$DATE/27018 –port 27018/kingdee/mongodb/bin/mongodump -o /dbbackup/mongodb/$DATE/27019 –port 27019find /dbbackup/mongodb -mtime +3 -name “2020*” -exec rm -rf {} ;查看备份文件[root@cjcos ~]# cd /dbbackup/mongodb/[root@cjcos mongodb]# du -sh *32G
2020_03_2132G
2020_03_2232G
2020_03_234.0K
mongo_bak.sh通过备份文件进行恢复恢复chendb[root@svnhost bin]# pwd/usr/local/mongodb/bin[root@cjcos bin]# mongorestore -d chendbccc /dbbackup/mongodb/2020_03_23/27017/chendb看完上述内容,你们对MongoDB中怎么实现备份与恢复有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注百云行业资讯频道,感谢大家的支持。
相关推荐: 使用udev管理asmdisk执行/sbin/scsi_id不显示UUID解决方法
今天在搭建RAC的时候,使用udev方式来创建ASM磁盘,执行/sbin/scsi_id命令不知道啥原因,死活获取不到UUID,执行结果啥也不显示。[root@seiang2 ~]# scsi_id -u -g/dev/sdb 没有UUID貌似没法配置udev…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。