美文网首页
mongo dump&restore

mongo dump&restore

作者: EricLee_1900 | 来源:发表于2020-03-27 12:21 被阅读0次

    mongodump -u kb -p kb_offline_205312 -h localhost --port 27017 -d kb_offline -c question_keywords -o question_keywords.json

    mongorestore -u kb_developer -p kb_developer_439765 -h 10.10.254.13 --port 6020 -d kb -c question_keywords --file question_keywords.json

    mongodump

    mongodump 是 MongoDB 官方提供的备份工具,它可以从 MongoDB 数据库读取数据,并生成 BSON 文件,mongodump 适合用于备份和恢复数据量较小的 MongoDB 数据库,不适用于大数据量备份。

    默认情况下 mongodump 不获取 local 数据库里面的内容。

    mongodump 仅备份数据库中的文档,不备份索引,所以我们还原后,需要重新生成索引。

    mongodump 备份过程中会对 mongod 服务的性能产生影响,我们建议在业务低峰期进行操作。如果我们备份的数据,大于系统内存,我们备份的时候容易出现错误。

    在执行 mongodump 的时候,mongod 服务还是可以提供服务的,可以进行修改数据,如果我们在备份的时候加上参数 --oplog 的话,那么 oplog 是会记录这一次操作的,如果我们想在 restore 的时候也有日志记录,我们可以使用 mongorestore --oplogReplay 进行恢复

    --host <:port>, -h <:port> # 指定备份的主机ip和端口号,默认值localhost:27017

    --port # 指定端口号 默认27017

    --username , -u # 指定用户名

    --password , -p # 指定密码

    --authenticationDatabase # 指定认证的数据库

    --authenticationMechanism # 指定认证的算法 ,默认值 SCRAM-SHA-1

    --db , -d # 指定备份的数据库,未指定的话,备份所有的数据库,但不包含local库

    --collection , -c # 指定备份的集合,未指定则备份指定库中的所有集合。

    --query , -q # 指定 json 作为查询条件。来备份我们过滤后的数据。

    --queryFile # 指定 json 文档路径,以该文档的内容作为查询条件,来备份我们过滤后的数据。

    --quit # 通过抑制 MongoDB的复制,连接等活动,来实现备份。

    --gzip # 开启压缩,3.2版本后可以使用,输出为文件的话会带有后缀.gz

    --out <path>, -o <path> # 输出的目录路径

    --repir # 修复数据时使用 下面有详细介绍

    --oplog # mongodump 会将 mongodump 执行期间的 oplog 日志 输出到文件 oplog.bson,这就意味着从备份开始到备份结束的数据操作我们都可以记录下来。

    --archive # 输出到单个存档文件或者是直接输出。

    --dumpDbUsersAndRoles # 只有在 使用 --db 时才适用,备份数据库的包含的用户和角色。

    --excludeCollection string # 排除指定的集合,如果要排除多个,使用多个--excludeCollection 

    --numParallelCollections int, -j int # 并行导出的集合数,默认为4

    --ssl # 指定 TLS/SSL 协议

    --sslCAFile filename # 指定认证文件名

    --sslPEMKeyFile

    --sslPEMKeyPassword

    --sslCRLFile

    --sslAllowInvalidCertificates

    --sslAllowInvalidHostnames

    --sslFIPSMode

    排除指定的集合

    mongodump --db test --excludeCollection=users --excludeCollection=salaries

    指定ip,端口,用户名,认证,压缩,输出目录

    mongodump --host mongodb1.example.net --port 37017 --username user --password "pass" --gzip --out /opt/backup/mongodump-2019-04-17

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

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

    mongorestore 不恢复 system.profile 的数据

    --help # 查看帮助

    --quiet # 通过抑制 MongoDB的复制,连接等活动,来实现数据恢复。

    --host <:port>, -h <:port> # 指定恢复的主机ip和端口号,默认值localhost:27017

    --port # 指定端口号 默认27017

    --username , -u # 指定用户名

    --password , -p # 指定密码

    --authenticationDatabase # 指定认证的数据库

    --authenticationMechanism # 指定认证的算法 ,默认值 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 # 指定还原数据储存目录。

    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

    mongorestore -u kb_developer -p kb_developer_439765 -h 10.10.254.13 --port 6020 -d kb -c question_keywords --gzip --archive=test.20150715.gz

    mongorestore -u kb_developer -p kb_developer_439765 -h 10.10.254.13 --port 6020 -d kb -c question_keywords --gzip --archive=test.20150715.gz

    mongodump -u kb -p kb_offline_205312 -h localhost --port 27017 -d kb_offline -c question_keywords -o question_keywords.json

    mongodump -u kb -p kb_offline_205312 -h localhost --port 27017 -d kb_offline -c question_keywords --gzip

    mongodump -u kb -p kb_offline_205312 -h localhost --port 27017 -d kb_offline -c question_keywords --gzip -o ques_data

    mongodump -u kb -p kb_offline_205312 -h localhost --port 27017 -d kb_offline -c question_keywords --gzip--archive=./question_data/question_keywords.archive

    mongorestore -u kb_developer -p kb_developer_439765 -h 10.10.254.13 --port 6020 -d kb -c question_keywords --gzip --archive=./question_data/question_keywords.archive

    mongodump -u kb_read -p VexX7HFqXqeAfjOz -d kb -h 10.10.200.112:6010 -c element -o ~/project/tmp_save/export/element_2019_1212 --gzip

    mongorestore -u kb -p kb_offline_205312 -d kb_offline -h localhost:27017 -c element ~/project/tmp_save/export/element_2019_1212/kb/element.bson.gz --gzip --drop

    mongodump -u kb -p kb_offline_205312 -h localhost --port 27017 -d kb_offline -c question_keywords --gzip -o question_data/question_kw_2019_1213

    mongorestore -u kb_developer -p kb_developer_439765 -h 10.10.254.13 --port 6020 -d kb -c question_keywords question_data/question_kw_2019_1213/.gz --gzip --drop

    相关文章

      网友评论

          本文标题:mongo dump&restore

          本文链接:https://www.haomeiwen.com/subject/nqaoehtx.html