windows下面mongodb数据库备份和恢复
我可以讲数据备份到c:\data\dump目录下面,首先创建这个路径。然后进入到mongodb的bin目录下面
我的是:
C:\Program Files\mongodb\bin
备份脚本是:
//备份mongodump -h 127.0.0.1:27017 -d test -o c:\data\dump
恢复脚本是:
//恢复 mongorestore -h 127.0.0.1:27017 -d test --directoryperdb c:\data\dump\test
解释一下用到的命令
原始解释:
-v [ –verbose ] be more verbose (include multiple times
for more verbosity e.g. -vvvvv)
–version print the program’s version and exit
-h [ –host ] arg mongo host to connect to ( <set
name>/s1,s2 for sets)
–port argserver port. Can also use –host
hostname:port
–ipv6enable IPv6 support (disabled by
default)
-u [ –username ] arg username
-p [ –password ] arg password
–authenticationDatabase arg user source (defaults to dbname)
–authenticationMechanism arg (=MONGODB-CR)
authentication mechanism
–dbpath arg directly access mongod database files
in the given path, instead of
connecting to a mongod server – needs
to lock the data directory, so cannot
be used if a mongod is currently
accessing the same path
–directoryperdb each db is in a separate directly
(relevant only if dbpath specified)
–journal enable journaling (relevant only if
dbpath specified)
-d [ –db ] argdatabase to use
-c [ –collection ] argcollection to use (some commands)
–objcheckvalidate object before inserting
(default)
–noobjcheck don’t validate object before inserting
–filter arg filter to apply before inserting
–dropdrop each collection before import
–oplogReplay replay oplog for point-in-time restore
–oplogLimit arg include oplog entries before the
provided Timestamp (seconds[:ordinal])
during the oplog replay; the ordinal
value is optional
–keepIndexVersiondon’t upgrade indexes to newest version
–noOptionsRestoredon’t restore collection options
–noIndexRestore don’t restore indexes
–w arg (=0) minimum number of replicas per write
linux下面mongodb数据库备份和恢复
linux下面我们可以创建一个自动备份脚本,可以设置定时任务,也可以手动备份。我是手动备份的。
首先创建一个sh命令,我是放在home下面的。
vim /home/mongoBeiFen.sh
输入如下内容:
#!/bin/bashshijie=`date +%Y%m%d%H`backmongodbFile=mongodb$shijie.tar.gzcd /home/mongoDbback//usr/local/mongo/bin/mongodump -h 127.0.0.1 --port 27017 -u mongo -p 123456 -d my_mongodb -o my_mongodb_dump/tar czf $backmongodbFile my_mongodb_dump/rm my_mongodb_dump -rf
解释:
存放备份的文件夹是/home/mongoDbback/
-u是数据库名用户名 -p是密码 -d是数据库名 具体和window差不多,大家可以看下上面windows的解释。
备份的时候只要运行一下
./mongoBeiFen.sh
就可以了。
数据库恢复:
/usr/local/mongo/bin/mongorestore -d my_mongodb my_mongodb_dump/my_mongodb/*
指向每个文件
/usr/local/mongo/bin/mongorestore -h 127.0.0.1 –port 27017 — drop –directoryperdb my_mongodb_dump/my_mongodb
指向一个目录
有问题的话可以尝试window的写法:
/usr/local/mongo/bin/mongorestore -h 127.0.0.1:27017 -d test –drop –directoryperdb my_mongodb_dump/my_mongodb