当前位置:首页 » 数据仓库 » mongodb数据库备份工具
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mongodb数据库备份工具

发布时间: 2022-09-08 07:17:29

‘壹’ 数据库mongoDB怎么安装 为什么我下载的解压缩后里面没有bin目录解压缩后再怎么办

没有bin目录那有mongo.exe等这些exe程序文件吗?一般都是在bin目录下的,没遇到过解压后没有bin目录的
注意:

1. MongoDB 2.6.4 Linux 版要求 glibc 必须是 2.5 以上,所以需要先确认操作系统的 glibc 的版本。

2. 在 32 位平台 MongoDB 不允许数据库文件(累计总和)超过 2G,而 64 位平台没有这个限制。

一)下载MongoDB

下载Windows 32-bit版本并解压缩,程序文件都在bin目录中,其它两个目录分别是C++调用是的头文件和库文件。bin目录中包含如下几个程序:

●bsonmp: 将 bson 格式的文件转储为 json 格式的数据
●mongo: 客户端命令行工具,其实也是一个 js 解释器,支持 js 语法
●mongod: 数据库服务端,每个实例启动一个进程,可以 fork 为后台运行
●mongomp/ mongorestore: 数据库备份和恢复工具
●mongoexport/ mongoimport: 数据导出和导入工具
●mongofiles: GridFS 管理工具,可实现二制文件的存取
●mongos: 分片路由,如果使用了 sharding 功能,则应用程序连接的是 mongos 而不是mongod
●mongosniff: 这一工具的作用类似于 tcpmp,不同的是他只监控 MongoDB 相关的包请求,并且是以指定的可读性的形式输出
●mongostat: 实时性能监控工具
二) 设置MongoDB工作目录

将其解压到 c:\,再重命名为mongo,路径为c:\mongo

三) 设置数据文件路径

在c:\mongo里面新建logs和data文件夹

在c:\mongo\logs里面新建mongodb.log文件,建立日志文件

在c:\mongo\data里面新建文件夹db,建立数据存放目录

四)启动MongoDB服务
打开 cmd,输入命令:c:\mongo\bin\mongod.exe --dbpath=c:\mongo\data\db
正常运行显示以下信息:
Mongdb默认的监听端口为27017。

‘贰’ mongodb 切片数据库怎么备份

1、导出工具:mongoexport
1、概念:
mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
2、语法:
mongoexport -d dbname -c collectionname -o file --type json/csv -f field
参数说明:
-d :数据库名
-c :collection名
-o :输出的文件名
--type : 输出的格式,默认为json
-f :输出的字段,如果-type为csv,则需要加上-f "字段名"
3、示例:
sudo mongoexport -d mongotest -c users -o /home/python/Desktop/mongoDB/users.json --type json -f "_id,user_id,user_name,age,status"

2、数据导入:mongoimport
1、语法:
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
参数说明:
-d :数据库名
-c :collection名
--type :导入的格式默认json
-f :导入的字段名
--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
--file :要导入的文件

‘叁’ mongodb 怎么备份多个集合

单个collection备份:
mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
-h: MongoDB所在服务器地址
-d: 需要恢复的数据库实例
-c: 需要恢复的集合
-f: 需要导出的字段(省略为所有字段)
-o: 表示导出的文件名

‘肆’ MongoDB配置文件中如何绑定IP最后一行设置后,mongo启动不了了,求解决。

1.启停止MongoDB

执行mongod,启MongoDB服务器mongod选项命令执行 mongod --help

主要选项:

--dbpath

指定数据目录默认值C:\data\db每mongod进程都需要独立数据目录要3mongod

实例必须3独立数据目录mongod启数据库目录创建mongod.lock文件

文件用于防止其mongod纯净使用该数据目录

--port

指定服务器监听端口号默认端口27017.要运行mongod进程则要给每指定同端口号

--logpath

指定志输路径文件夹读写权限系统文件存创建已文件覆盖掉

清除所原志记录想要保留原志需使用--logappend选项

--config

指定配置文件加载命令行未指定各种选项

2.配置文件启

MongoDB支持文件获取配置信息.需要配置非或者要自化MongoDB启用.

指定配置文件用-f或--config选项.

:

mongod --config refactorConfig.txt

refactorConfig.txt内容:

#start MongoDB
port = 10000
dbpath = "f:\mongo\db"
logpath = "f:\mongo\log\MongoDB.txt"
rest = true

配置文件命令行功能

mongod --dbpath "f:\mongo\db" --logpath "f:\mongo\log\MongoDB.txt" --rest --port 10000

配置文件特点:

a.#行注释

b.指定选项语种"选项=值"形式.选项区写.

c.命令行--rest关选项,值要设true

3.停止MongoDB

使用shutdown命令{"shutdown":1},命令要admin数据库使用.shell提供辅助函数:

use admin

db.shutdownServer()

4. 监控

使用管理接口,默认情况,启mongod启基本http服务器,该服务默认端口28017.浏览器输入

localhost:28017.些链接需要mongod启,用--rest选项启rest支持 才能进.启rest支持,

mongod启使用--nohttpinterface关闭管理接口.

5.serverStatus

要获取运行MongoDB服务器统计信息,基本工具serverStatus命令

db.runCommand({"serverStatus":1})

serverStatus返键解释:

"globalLock"值表示全局写入锁占用服务器少间(单位微秒)

"mem"包含服务器内存映射少数据,服务器进程虚拟内存驻内存占用情况(单位MB)

"indexCounters"表示B树磁盘检索("misses")内存检索("hits")数.比值始升,要考虑加内存.

"backgroundFlushing"表示台做少fsync及用少间

"opcounters"文档包含每种主要操作数

"asserts"统计断言数

6.mongostat

serverStatus虽强,服务器监控说容易.MongoDB提供mongostat

mongostat输些serverStatus提供重要信息,每秒输新行,比前看静态数据实性要.

输列,别 inserts/s commands/s vsize %locked,与serverStatus数据相应.

使用第三插件进行数据库监控.

7.安全认证

认证基础知识

每MongoDB实例数据库都用户,启安全性检查,数据库认证用户才能执行读或写操作.

认证文,MongoDB普通数据作admin数据库处理.admin数据库用户称超级用户(管理员).

认证,管理员读写所数据库,执行特定管理命令,listDatabasesshutdown.

启安全检查前,至少要管理员帐号,shell连接没启安全检查服务器

面添加管理员refactor_root,test数据库添加两普通账号,其读权限.shell创建读用户要

addUser第三参数设true.调用addUser必须响应数据库写权限.所数据库调用addUser,

没启安全检查.

重启数据库,重启加入 --auth 命令行选项,启安全检查

第连接,能test数据库执行任何操作,作读用户认证,能查找,能插入数据.能读写用户认证,能查找插入

数据,能使用show dbs 列举所数据库.超级用户认证,所欲.

8.认证工作原理

数据库用户帐号文档形式存储system.users集合.文档结构

{
"_id" : ObjectId("5006a037dff37e149322fd83"),
"user" : "refactor_read_write",
"readOnly" : false,
"pwd" : ""//根据用户名密码散列
}

知道用户信息何存储及存储位置,进行管理工作.

删除帐户:

> db.system.users.remove({"user":"refactor_read"})
> db.auth("refactor_read","refactor")
0

用户认证,服务器认证连接绑定跟踪认证,说驱程序或工具使用连接池或故障切换

另节点,所认证用户必须每新连接重新认证.

MongoDB传输协议加密,需加密,用ssh隧道或者类似技术做客户端服务器间加密.

建议MongoDB服务器放防火墙或放应用服务器能访问网络.MongoDB必须能外面访问,

建议使用--bindip选项,指定mongod绑定本ip址.:能本机应用服务器访问,使用

mongod --bindip localhost

默认情况MongoDB启简单http服务器,便于查看运行,锁,复制等面信息,要想公些信息,用

--nohttpinterface关闭管理接口.

用--noscripting完全禁止服务端javascript执行

9.备份修复

MongoDB所数据都存放 数据目录 ,默认目录C:\data\db\.启MongoDB候用--dbpath指定数据目录.

论数据目录哪,都存放着MongoDB所数据.要想备份MongoDB,要简单复制数据目录所文件即.

除非服务器做完整fsync,允许写入,否则运行MongoDB创建数据目录副本并安全,备份能已经

破损,需要修复.

运行MongoDB创建数据目录副本并安全,所先服务器关,再复制数据目录.关闭数据库要停止业务.

10.mongompmongorestore

mongomp种能运行备份.mongomp运行MongoDB做查询,所查文档写入磁盘.

mongomp般客户端,所供运行MongoDB使用,即便处理其请求或执行写入没问题.

mongomp使用普通查询机制,所产备份定服务器数据实快照.服务器备份程处理写入,非明显.

mongomp备份查询其客户端性能产影响.

mongomp --help 获帮助

mongorestore备份恢复数据工具.

mongorestore获取mongomp 输结,并备份数据插入运行MongoDB实例.

:数据库test备份backup目录

mongomp -d test -o backup

使用mongorestore 恢复testNew 数据库
mongorestore -d testNew --drop backup/test/

-d指定要恢复数据库.--drop指恢复前删除集合(若存),否则数据与现集合数据合并,能覆盖些文档.

使用mongorestore --help获帮助信息

11.fsync锁

虽使用mongompmongorestore能停机备份,却失获取实数据视图能力.MongoDBfsync命令

能MongoDB运行复制数据目录损坏数据.

fsync命令强制服务器所缓冲区写入磁盘.选择锁住址数据库进步写入,知道释放锁止.写入锁让

fsync备份发挥作用关键.

shell,强制执行fsync并获写入锁:

db.runCommand({"fsync":1,"lock":1})

,数据目录数据致,且数据实快照.锁,安全数据目录副本作备份.要数据库运行

快照功能文件系统,比LVM,EBS,用,拍数据库目录快照快.

备份,解锁:

db.$cmd.sys.unlock.findOne()

db.currentOp()

运行db.currentOp()确保已经解锁(初请求解锁花点间)

fsync命令,能非灵备份,用停掉服务器,用牺牲备份实性能.要付代价些写入操作

暂阻塞.唯耽误读写能保证实快照备份式通服务器备份.

12.属备份

虽面备份式灵,都没服务器备份.复制式运行MongoDB,前面提备份技术仅能用

主服务器,用服务器.服务器数据几乎与主服务器同步.太乎属服务器性能或者能能读写,

于能随意选择面3种备份式:关停,转存或恢复工具或fsync命令.服务器备份MongoDB推荐备份式.

13.修复

MongoDB存储式能保证磁盘数据能用,能损毁.MongoDB内置修复功能试着恢复损坏数据文件.

未停止MongoDB应该修复数据库.修复数据库式简单 mongod --repair 启服务器.

修复数据库实际程简单:所文档导马导入,忽略效文档.完,重建索引.数据量,花间,

所数据都要验证,所索引都要重建(MongoDB 1.8 版本引入志系统,使修复间打打缩短).

修复能比修复前少些文档,损坏文档删除.

修复数据库能起压缩数据作用.闲置控件(删除体积较集合,或删除量文档腾空间)修复重新利用.

修复运行服务器数据库,要shell用repairDatabases.

use test
db.repairDatabase()

‘伍’ 原来mongo中$out出来有限制吗

1.启动和停止MongoDB

执行mongod,启动MongoDB服务器。mongod有很多选项,在命令中执行 mongod --help

主要选项如下:

--dbpath

指定数据目录,默认值是C:\data\db。每个mongod进程都需要独立的数据目录。如果要是有3个mongod

实例,那么必须有3个独立的数据目录。当mongod启动时,会在数据库目录中创建mongod.lock文件

这个文件用于防止其他的mongod纯净使用该数据目录。

--port

指定服务器监听的端口号,默认端口27017.要运行多个mongod进程,则要给每个指定不同的端口号。

--logpath

指定日志的输出路径。如果对文件夹有读写权限,系统会在文件不存在时创建它。它会将已有文件覆盖掉,

清除所有原来的日志记录。如果想要保留原来的日志,需使用--logappend选项。

--config

指定配置文件,加载命令行未指定的各种选项。

2.从配置文件启动

MongoDB支持从文件获取配置信息.当需要配置非常多或者要自动化MongoDB的启动时会用到.

指定配置文件可以用-f或--config选项.

如:

mongod --config refactorConfig.txt

refactorConfig.txt内容如下:

#start MongoDB
port = 10000
dbpath = "f:\mongo\db"
logpath = "f:\mongo\log\MongoDB.txt"
rest = true

配置文件和命令行的功能一样

mongod --dbpath "f:\mongo\db" --logpath "f:\mongo\log\MongoDB.txt" --rest --port 10000

配置文件的特点:

a.以#开头的行是注释

b.指定选项的语法是这种"选项=值"的形式.选项是区分大小写的.

c.命令行如--rest的开关选项,值要设为true

3.停止MongoDB

可以使用shutdown命令{"shutdown":1},这个命令要在admin数据库下使用.shell还提供了辅助函数:

use admin

db.shutdownServer()

4. 监控

使用管理接口,默认情况下,启动mongod会启动基本的http服务器,该服务的默认端口是28017.可以在浏览器中输入

localhost:28017.有些链接需要在mongod启动时,用--rest选项开启rest支持 才能进去.当开启rest支持后,可以

在mongod启动时使用--nohttpinterface来关闭管理接口.

5.serverStatus

要获取运行中的MongoDB服务器统计信息,最基本的工具是serverStatus命令

db.runCommand({"serverStatus":1})

serverStatus返回的键解释:

"globalLock"的值表示全局写入锁占用了服务器多少时间(单位微秒)

"mem"包含服务器内存映射了多少数据,服务器进程的虚拟内存和常驻内存的占用情况(单位MB)

"indexCounters"表示B树在磁盘检索("misses")和内存检索("hits")的次数.如果这个比值开始上升,就要考虑加内存了.

"backgroundFlushing"表示后台做了多少次fsync以及用了多少时间

"opcounters"文档包含了每种主要操作的次数

"asserts"统计了断言的次数

6.mongostat

serverStatus虽然强大,但对服务器的监控来说不怎么容易.MongoDB提供了mongostat

mongostat输出一些serverStatus提供的重要信息,它会每秒输出新的一行,比之前看到的静态数据实时性要好.

它输出多个列,分别是 inserts/s commands/s vsize 和 %locked,与serverStatus的数据相对应.

还可以使用第三方插件进行数据库的监控.

7.安全和认证

认证的基础知识

每个MongoDB实例中的数据库都可以有很多用户,如果开启了安全性检查,这只有数据库认证用户才能执行读或写操作.

在认证的上下文中,MongoDB会将普通的数据作为admin数据库处理.admin数据库中的用户被称为超级用户(管理员).

在认证后,管理员可以读写所有数据库,执行特定的管理命令,如listDatabases和shutdown.

在开启安全检查前,至少要有个管理员帐号,在shell连接的是没有开启安全检查的服务器

上面添加了管理员refactor_root,在test数据库添加了两个普通账号,其中一个有只读权限.在shell中创建只读用户只要

在addUser的第三个参数设为true.调用addUser必须有响应数据库的写权限.这里可以对所有数据库调用addUser,

因为还没有开启安全检查.

重启数据库,重启时加入 --auth 命令行选项,开启安全检查

第一次连接时,不能test数据库执行任何操作,作为只读用户认证后,能查找,不能插入数据.能读写用户认证后,能查找和插入

数据,但不能使用show dbs 来列举所有数据库.超级用户认证后,可以为所欲为了.

8.认证的工作原理

数据库的用户帐号以文档的形式存储在system.users集合里.文档的结构是

{
"_id" : ObjectId("5006a037dff37e149322fd83"),
"user" : "refactor_read_write",
"readOnly" : false,
"pwd" : ""//是根据用户名和密码生成的散列
}

知道了用户信息是如何存储的以及存储位置后,就可以进行日常的管理工作了.

如删除帐户:

> db.system.users.remove({"user":"refactor_read"})
> db.auth("refactor_read","refactor")
0

用户认证时,服务器将认证和连接绑定来跟踪认证,也就是说如果驱动程序或是工具使用了连接池或是因故障切换到

另一个节点,所有认证用户必须对每个新连接重新认证.

MongoDB的传输协议是不加密的,如需加密,可以用ssh隧道或者类似的技术做客户端和服务器间的加密.

建议将MongoDB服务器放在防火墙或放在只有应用服务器能访问的网络中.如果MongoDB必须能被外面访问到的话,

建议使用--bindip选项,可以指定mongod绑定到的本地ip地址.如:只能从本机应用服务器访问,可以使用

mongod --bindip localhost

默认情况下MongoDB会开启一个简单的http服务器,便于查看运行,锁,复制等方面的信息,要是不想公开这些信息,可以用

--nohttpinterface来关闭管理接口.

可以用--noscripting完全禁止服务端javascript执行

9.备份和修复

MongoDB将所有数据都存放在 数据目录 下,默认目录是C:\data\db\.启动MongoDB的时候可以用--dbpath指定数据目录.

不论数据目录在哪里,它都存放着MongoDB的所有数据.要想备份MongoDB,只要简单的复制数据目录中的所有文件即可.

除非服务器做了完整的fsync,还不允许写入,否则在运行MongoDB时创建数据目录的副本并不安全,这样的备份可能已经

破损了,需要修复.

在运行MongoDB时创建数据目录的副本并不安全,所以就得先把服务器关了,再复制数据目录.但是关闭数据库就要停止业务.

10.mongomp和mongorestore

mongomp是一种能在运行时备份的方法.mongomp对运行的MongoDB做查询,然后将所有查到的文档写入磁盘.

因为mongomp是一般的客户端,所以可供运行的MongoDB使用,即便是正在处理其他请求或是执行写入也没有问题.

mongomp使用普通的查询机制,所以产生的备份不一定是服务器数据的实时快照.服务器在备份过程中处理写入时,非常明显.

mongomp备份时的查询会对其他客户端的性能产生影响.

mongomp --help 获得帮助

mongorestore是从备份中恢复数据的工具.

mongorestore获取mongomp 的输出结果,并将备份的数据插入运行的MongoDB实例中.

如:将数据库test备份到backup目录

mongomp -d test -o backup

使用mongorestore 恢复到testNew 数据库
mongorestore -d testNew --drop backup/test/

-d指定要恢复的数据库.--drop指在恢复前删除集合(若存在),否则数据就会与现有集合数据合并,可能会覆盖一些文档.

可以使用mongorestore --help获得帮助信息

11.fsync和锁

虽然使用mongomp和mongorestore能不停机备份,但是却失去了获取实时数据视图的能力.MongoDB的fsync命令

能在MongoDB运行时复制数据目录还不会损坏数据.

fsync命令会强制服务器将所有缓冲区写入磁盘.还可以选择上锁住址对数据库的进一步写入,知道释放锁为止.写入锁是让

fsync在备份时发挥作用的关键.

在shell中,强制执行fsync并获得写入锁:

db.runCommand({"fsync":1,"lock":1})

这时,数据目录的数据就是一致的,且为数据的实时快照.因为上了锁,可以安全的将数据目录副本作为备份.要是数据库运行在

有快照功能的文件系统上时,比如LVM,EBS,这个很有用,因为拍个数据库目录的快照很快.

备份好了,解锁:

db.$cmd.sys.unlock.findOne()

db.currentOp()

运行db.currentOp()是为了确保已经解锁了(初次请求解锁会花点时间)

有了fsync命令,就能非常灵活的备份,不用停掉服务器,也不用牺牲备份的实时性能.要付出的代价就是一些写入操作被

暂时阻塞了.唯一不耽误读写还能保证实时快照的备份方式就是通过从服务器备份.

12.从属备份

虽然上面的备份方式很灵活,但都没有从服务器上备份好.当复制的方式运行MongoDB,前面的提到的备份技术就不仅能用在

主服务器上,也可用在从服务器上.从服务器的数据几乎与主服务器同步.因为不太在乎从属服务器的性能或者是能不能读写,

于是就能随意选择上面的3种备份方式:关停,转存或恢复工具或fsync命令.从服务器上备份是MongoDB推荐的备份方式.

13.修复

MongoDB的存储方式不能保证磁盘上的数据还能用,因为可能有损毁.MongoDB内置的修复功能会试着恢复损坏的数据文件.

未正常停止MongoDB后应该修复数据库.修复数据库的方式很简单就是 mongod --repair 来启动服务器.

修复数据库的实际过程很简单:将所有的文档导出后马上导入,忽略无效的文档.完成后,会重建索引.数据量大的话,会花很多时间,

因为所有数据都要验证,所有索引都要重建(从MongoDB 1.8 以后版本引入了日志系统,使修复时间打打的缩短).

修复后可能会比修复前少些文档,因为损坏的文档被删除了.

修复数据库还能起到压缩数据的作用.闲置控件(如删除体积较大集合,或删除大量文档后腾出的空间)在修复后会被重新利用.

修复运行中的服务器上的数据库,要在shell用repairDatabases.

use test
db.repairDatabase()

‘陆’ mongodb副本集备份时需要oplog吗

作为一个合格的dba((⊙o⊙)…我是菜鸟),备份应该是重中之重,就像‘兵马未动粮草先行’,完善的备份可以救你一命啊,切记,切记!
那么mongodb副本集备份时到底需要oplog吗?
1、先看作用:
mongomp --oplog会记录备份期间对数据的修改到oplog.bson中
这样mongorestore --oplogReplay会在恢复完数据后重放该oplog.bson
文件。

2、用--oplog选项的好处:
备份时,用户还可以向服务器写入数据,因此备份过程对用户透明。

3、在分片集群(每个分片是一个副本集)中为什么不用--oplog?
(1)为了保证备份的数据是某一时刻的数据。
(2)因为配置服务器和分片上的数据是单独备份的,在备份时,
用户同时写入数据的话,可能导致数据不一致:
如:
步骤1-全备配置服务器;(正常完成)
步骤2-全备分片;
步骤3-用户写入数据;(此时步骤2还在运行)

结果:配置服务器没有记录用户写入的数据,恢复后,这些数据无法通过路由找到,即丢失数据了。
4、如何备份分片集群:
自己写了个工具,没有用--oplog选项,而是单独备份oplog.rs集合,同时锁住了数据库(一定不要锁primary,否则此时用户无法写入数据,而且如果用户恰好在备份期间写入会导致mongodb挂起)。

‘柒’ 求C#实现还原和备份MongoDB数据库的方法,贴代码比较好。

backup database MongoDB to disk='d:\MongoDB.bak'

restore database MongoDB from disk='d:\MongoDB.bak'

‘捌’ mongodb删除数据库后怎么恢复

方法/步骤
在mongodb的官方上search mongomp没有相应的资料,自己就在shell命令行里面 :
/data/mongodb-linux-x86_64-1.6.0/bin/mongomp --help 了一把, 自己来测试了,测试总结如下:
备份本机mongodb到/tmp/bakup目录下面:[root@localhost csf]# /data/mongodb-linux-x86_64-1.6.0/bin/mongomp -h 192.168.0.39:10001 -d csf -o /backup/mongodb
将/tmp/backup 下面的文件导入数据库:[root@localhost csf]#/data/mongodb-linux-x86_64-1.6.0/bin/mongorestore -h 192.168.0.39:10001 -d csf -drop --directoryperdb /backup/mongodb/csf/
【注释】--drop参数,有此参数,则表示,先删除所有的记录,然后恢复。如无此参数,则恢复备份时候的数据,备份之后新增加的数据依然存在;/backup/mongodb则是备份文件存放路径

‘玖’ 求助,mongodb如何恢复误删数据

方法/步骤
在mongodb的官方上search mongomp没有相应的资料,自己就在shell命令行里面 :
/data/mongodb-linux-x86_64-1.6.0/bin/mongomp --help 了一把, 自己来测试了,测试总结如下:
备份本机mongodb到/tmp/bakup目录下面:[root@localhost csf]# /data/mongodb-linux-x86_64-1.6.0/bin/mongomp -h 192.168.0.39:10001 -d csf -o /backup/mongodb
将/tmp/backup 下面的文件导入数据库:[root@localhost csf]#/data/mongodb-linux-x86_64-1.6.0/bin/mongorestore -h 192.168.0.39:10001 -d csf -drop --directoryperdb /backup/mongodb/csf/
【注释】--drop参数,有此参数,则表示,先删除所有的记录,然后恢复。如无此参数,则恢复备份时候的数据,备份之后新增加的数据依然存在;/backup/mongodb则是备份文件存放路径

‘拾’ 单库 mongodb 怎么备份

在mongodb的官方上search mongomp没有相应的资料,自己就在shell命令行里面 :
/data/mongodb-linux-x86_64-1.6.0/bin/mongomp --help 了一把, 自己来测试了,测试总结如下:
备份本机mongodb到/tmp/bakup目录下面:[root@localhost csf]# /data/mongodb-linux-x86_64-1.6.0/bin/mongomp -h 192.168.0.39:10001 -d csf -o /backup/mongodb
将/tmp/backup 下面的文件导入数据库:[root@localhost csf]#/data/mongodb-linux-x86_64-1.6.0/bin/mongorestore -h 192.168.0.39:10001 -d csf -drop --directoryperdb /backup/mongodb/csf/
【注释】--drop参数,有此参数,则表示,先删除所有的记录,然后恢复。如无此参数,则恢复备份时候的数据,备份之后新增加的数据依然存在;/backup/mongodb则是备份文件存放路径
,