MongoDB 备份与还原(2)

一般情况下,你不应该手动删除该mongod.lock文件。而是,使用上述过程来恢复数据库。在严峻的情况下,您可以删除文件,使用可能损坏的文件启动数据库,并尝试从数据库中恢复数据,但这存在风险。

4、查看备份数据

我们部分的数据都是二进制的,我们直接查看是查看不到的,那么我们可以通过工具 bsondump(安装 MongoDB 自带了) 来进行查看。

[root@djx uu_dev]# bsondump order_detail.bson 2019-04-17T16:14:51.430+0800 549 objects found {"_id":{"$oid":"5cae98d0f23d932dscdfc2ff"}} {"_id":{"$oid":"5cae98d0f23d932dscdfca00"}} {"_id":{"$oid":"5cae98d1f23d932dscdfca31"}} {"_id":{"$oid":"5cae98d1f23d932dscdfca32"}} 二、MongoDB 还原 1、mongorestore特点

mongorestore 可以创建新的数据库或将数据添加到现有的数据库,但是 mongorestore 仅仅执行insert 操作,不执行 update操作。这就意味着如果将文档还原到现有的数据库,现有的数据库中的文档的_id的值和要还原的文档中的_id 值是一样的,是不会将数据库原有的值覆盖的。

重建索引,mongorestore 会重建索引。

mongorestore 不恢复 system.profile 的数据

2、mongorestore 常用参数 --help # 查看帮助 --quiet # 通过抑制 MongoDB的复制,连接等活动,来实现数据恢复。 --host <hostname><:port>, -h <hostname><:port> # 指定恢复的主机ip和端口号,默认值localhost:27017 --port # 指定端口号 默认27017 --username <username>, -u <username> # 指定用户名 --password <password>, -p <password> # 指定密码 --authenticationDatabase <dbname> # 指定认证的数据库 --authenticationMechanism <name> # 指定认证的算法 ,默认值 SCRAM-SHA-1 --objcheck # 开启验证,验证还原操作,确保没有无效的文档插入数据库。会有较小的性能影响 --oplogReplay # 恢复备份数据并将 mongodump 执行期间的操作(记录在导出的日志)恢复。 --oplogLimit # 指定恢复 --oplogFile # 指定 Oplog 路径 --keepIndexVersion # 阻止mongorestore在还原过程中将索引升级到最新版本。 --restoreDbUsersAndRoles # 还原指定的数据库用户和角色。 --maintainInsertionOrder # 默认值为False,如果为 True,mongorestore 将按照输入源的文档顺序插入,否则是 随机执行插入。 --numParallelCollections int, -j int # 指定并行恢复的集合数。 --numInsertionWorkersPerCollection int # 默认值为 1,指定每个集合恢复的并发数,大数据量导入增加该值可提高 恢复速度。 --gzip # 从压缩文档中 恢复。 --archive # 从归档文件中恢复。 --dir # 指定还原数据储存目录。 3、还原示例 mongorestore --collection people --db accounts dump/ mongorestore --host mongodb1.example.net --port 37017 --username user --password "pass" /opt/backup/mongodump-2011-10-24 mongorestore --gzip --archive=test.20150715.gz --db test mongorestore --archive=test.20150715.archive --db test

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/359f130fe05696232331ca138eaad4b5.html