mongodb导出导入
发表于:2024-09-27 作者:千家信息网编辑
千家信息网最后更新 2024年09月27日,数据库都分为冷备份与热备份,所谓的冷备份就是停库,然后把数据拷贝;热备份就是使用相应工具,在数据库运行时做备份。每种库都会有自己的热备份工具,mongodb也不例外。mongodb的备份主要有热备和冷
千家信息网最后更新 2024年09月27日mongodb导出导入
数据库都分为冷备份与热备份,所谓的冷备份就是停库,然后把数据拷贝;热备份就是使用相应工具,在数据库运行时做备份。每种库都会有自己的热备份工具,mongodb也不例外。
mongodb的备份主要有热备和冷备。
一,冷备:
停止mongodb服务,直接copy数据目录;启动mongodb时,可以用--dbpath指定自己设置的数据库存储目录。
二,热备:
用mongodump来做MongoDB的库或表级别的热备份。
认识一下mongodump,
[mongo@tstdb-25-220 mongodb]$ bin/mongodump --helpUsage: mongodumpExport the content of a running server into .bson files.Specify a database with -d and a collection with -c to only dump that database or collection.See http://docs.mongodb.org/manual/reference/program/mongodump/ for more information.general options: --help print usage --version print the tool version and exitverbosity options: -v, --verbose= more detailed log output (include multiple times for more verbosity, e.g. -vvvvv, or specify a numeric value, e.g. --verbose=N) --quiet hide all log outputconnection options: -h, --host= mongodb host to connect to (setname/host1,host2 for replica sets) --port= server port (can also use --host hostname:port)authentication options: -u, --username= username for authentication -p, --password= password for authentication --authenticationDatabase= database that holds the user's credentials --authenticationMechanism= authentication mechanism to usenamespace options: -d, --db= database to use -c, --collection= collection to usequery options: -q, --query= query filter, as a JSON string, e.g., '{x:{$gt:1}}' --queryFile= path to a file containing a query filter (JSON) --readPreference= | specify either a preference name or a preference json object --forceTableScan force a table scanoutput options: -o, --out= output directory, or '-' for stdout (defaults to 'dump') --gzip compress archive our collection output with Gzip --repair try to recover documents from damaged data files (not supported by all storage engines) --oplog use oplog for taking a point-in-time snapshot --archive= dump as an archive to the specified path. If flag is specified without a value, archive is written to stdout --dumpDbUsersAndRoles dump user and role definitions for the specified database --excludeCollection= collection to exclude from the dump (may be specified multiple times to exclude additional collections) --excludeCollectionsWithPrefix= exclude all collections from the dump that have the given prefix (may be specified multiple times to exclude additional prefixes) -j, --numParallelCollections= number of collections to dump in parallel (4 by default)
看下导出过程
[mongo@tstdb-25-220 mongodb]$ bin/mongodump -h 172.16.25.220 -d sykdb -o /usr/local/mongodb/backup2016-10-31T09:41:03.521+0800 writing sykdb.system.indexes to 2016-10-31T09:41:03.522+0800 done dumping sykdb.system.indexes (2 documents)2016-10-31T09:41:03.523+0800 writing sykdb.system.profile to 2016-10-31T09:41:03.523+0800 writing sykdb.sykdb to 2016-10-31T09:41:03.523+0800 writing sykdb.table_syk to 2016-10-31T09:41:03.524+0800 done dumping sykdb.system.profile (2 documents)2016-10-31T09:41:03.524+0800 done dumping sykdb.sykdb (2 documents)2016-10-31T09:41:03.524+0800 done dumping sykdb.table_syk (1 document)
导出后的文件如下:
[mongo@tstdb-25-220 mongodb]$ cd backup/[mongo@tstdb-25-220 backup]$ ll总用量 4drwxr-xr-x. 2 mongo dbmon 4096 10月 31 09:41 sykdb[mongo@tstdb-25-220 backup]$ cd sykdb/[mongo@tstdb-25-220 sykdb]$ ll总用量 28-rw-r--r--. 1 mongo dbmon 75 10月 31 09:41 sykdb.bson-rw-r--r--. 1 mongo dbmon 83 10月 31 09:41 sykdb.metadata.json-rw-r--r--. 1 mongo dbmon 136 10月 31 09:41 system.indexes.bson-rw-r--r--. 1 mongo dbmon 1529 10月 31 09:41 system.profile.bson-rw-r--r--. 1 mongo dbmon 55 10月 31 09:41 system.profile.metadata.json-rw-r--r--. 1 mongo dbmon 36 10月 31 09:41 table_syk.bson-rw-r--r--. 1 mongo dbmon 87 10月 31 09:41 table_syk.metadata.json
下面看一下导入(导出与导入可以看做是备份与恢复,所有的备份都是为了恢复而做)
[mongo@tstdb-25-220 mongodb]$ bin/mongorestore --helpUsage: mongorestoreRestore backups generated with mongodump to a running server.Specify a database with -d to restore a single database from the target directory,or use -d and -c to restore a single collection from a single .bson file.See http://docs.mongodb.org/manual/reference/program/mongorestore/ for more information.general options: --help print usage --version print the tool version and exitverbosity options: -v, --verbose= more detailed log output (include multiple times for more verbosity, e.g. -vvvvv, or specify a numeric value, e.g. --verbose=N) --quiet hide all log outputconnection options: -h, --host= mongodb host to connect to (setname/host1,host2 for replica sets) --port= server port (can also use --host hostname:port)authentication options: -u, --username= username for authentication -p, --password= password for authentication --authenticationDatabase= database that holds the user's credentials --authenticationMechanism= authentication mechanism to usenamespace options: -d, --db= database to use -c, --collection= collection to useinput options: --objcheck validate all objects before inserting --oplogReplay replay oplog for point-in-time restore --oplogLimit= [:ordinal] only include oplog entries before the provided Timestamp --archive= restore dump from the specified archive file. If flag is specified without a value, archive is read from stdin --restoreDbUsersAndRoles restore user and role definitions for the given database --dir= input directory, use '-' for stdin --gzip decompress gzipped inputrestore options: --drop drop each collection before import --writeConcern= write concern options e.g. --writeConcern majority, --writeConcern '{w: 3, wtimeout: 500, fsync: true, j: true}' (defaults to 'majority') --noIndexRestore don't restore indexes --noOptionsRestore don't restore collection options --keepIndexVersion don't update index version --maintainInsertionOrder preserve order of documents during restoration -j, --numParallelCollections= number of collections to restore in parallel (4 by default) --numInsertionWorkersPerCollection= number of insert operations to run concurrently per collection (1 by default) --stopOnError stop restoring if an error is encountered on insert (off by default) --bypassDocumentValidation bypass document validation
--oplogReplay这个参数,大家注意一下,mongodb的导出导入可以做的基本时间点的恢复
我们再insert一行,然后测试一下:
moe:PRIMARY> db.sykdb.insert ({"job":"dba"})
然后导入:
[mongo@tstdb-25-220 mongodb]$ bin/mongorestore -h 172.16.25.220 -d sykdb backup/sykdb2016-10-31T10:28:21.049+0800 building a list of collections to restore from backup/sykdb dir2016-10-31T10:28:21.051+0800 reading metadata for sykdb.sykdb from backup/sykdb/sykdb.metadata.json2016-10-31T10:28:21.051+0800 reading metadata for sykdb.table_syk from backup/sykdb/table_syk.metadata.json2016-10-31T10:28:21.051+0800 reading metadata for sykdb.system.profile from backup/sykdb/system.profile.metadata.json2016-10-31T10:28:21.051+0800 restoring sykdb.sykdb from backup/sykdb/sykdb.bson2016-10-31T10:28:21.051+0800 no indexes to restore2016-10-31T10:28:21.052+0800 finished restoring sykdb.system.profile (0 documents)2016-10-31T10:28:21.052+0800 restoring sykdb.table_syk from backup/sykdb/table_syk.bson2016-10-31T10:28:21.086+0800 restoring indexes for collection sykdb.sykdb from metadata2016-10-31T10:28:21.086+0800 restoring indexes for collection sykdb.table_syk from metadata2016-10-31T10:28:21.086+0800 finished restoring sykdb.sykdb (2 documents)2016-10-31T10:28:21.086+0800 finished restoring sykdb.table_syk (1 document)2016-10-31T10:28:21.087+0800 done
查询一下,看数据是否回来了
moe:PRIMARY> db.sykdb.find().limit(100);{ "_id" : ObjectId("5816ac26d37a70860b091c1f"), "job" : "dba" }{ "_id" : ObjectId("5813041a56c55d778812e689"), "name" : "syk" }{ "_id" : ObjectId("5813065356c55d778812e68a"), "loc" : "beijing" }
介绍一对命令:mongoexport/mongoimport
[mongo@tstdb-25-220 mongodb]$ bin/mongoexport -h 172.16.25.220 -d sykdb -c table_syk -o table_syk.dat2016-10-31T11:43:40.893+0800 connected to: 172.16.25.2202016-10-31T11:43:40.894+0800 exported 1 record
查看导出来的文件:
[mongo@tstdb-25-220 mongodb]$ strings table_syk.dat {"_id":{"$oid":"581313a856c55d778812e68b"},"name":"syk"}[mongo@tstdb-25-220 mongodb]$ file table_syk.dat table_syk.dat: ASCII text
看来这个工具相当于其他数据库中的逻辑导出
把表清空
moe:PRIMARY> db.table_syk.drop()
导入
[mongo@tstdb-25-220 mongodb]$ bin/mongoimport -h 172.16.25.220 -d sykdb -c table_syk table_syk.dat2016-10-31T11:45:22.499+0800 connected to: 172.16.25.2202016-10-31T11:45:22.540+0800 imported 1 document
数据回来了。
备份
数据
e.g.
数据库
工具
就是
文件
用量
目录
一行
参数
命令
备份工具
拷贝
时间
级别
过程
逻辑
存储
服务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
防城港市app软件开发哪家好
广东造服务器云空间
世界服务器占有率
网络安全教育内容的意义
中科数据库
网络安全法对主体责任的影响
sac网络安全
ps软件数据库
军队如何守好网络安全防线
idc中国网络安全市场
网络安全报告规划设计方案
添加服务器对wifi有无影响
高频数据数据库
自己电脑能建代理服务器吗
福建省万云网络技术有限公司
鲲鹏芯片服务器品牌
软件开发人员年度工作小结
天灾计划软件开发
php服务器
asp连接数据库登录
软件测试用服务器配置
数据库技术招聘
百度在线网络技术公司
数据库分为用户数据库
计算机网络技术要怎么学习
人社网络安全常识
删除云服务器
联想m4550管理服务器
sql语言新建数据库执行
浙江生鲜系统软件开发