MongoDB Windows环境备份和还原
一. 的安装 1.1 下载安装
官网下载链接 这里我选择的是
5.0.17版本的msi文件。下载完后安装 。我的安装目录是 D:\ Files\\\5.0
PS:安装" "不勾选,否则可能要很长时间都一直在执行安装, 是一个图形界面管理工具,这里不安装也是没有问题的,可以自己去下载一个图形界面管理工具,比如:或者
2.2配置
在安装目录bin文件夹下有个文件.cfg,没有的话就新建一个。可以设置db存储文件夹,log存储文件夹,IP和端口等
# mongod.conf# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/# Where and how to store data.
storage:dbPath: D:\Program Files\MongoDB\Server\5.0\datajournal:enabled: true
# engine:
# wiredTiger:# where to write logging data.
systemLog:destination: filelogAppend: truepath: D:\Program Files\MongoDB\Server\5.0\log\mongod.log# network interfaces
net:port: 27017bindIp: 0.0.0.0#processManagement:#security:#operationProfiling:#replication:#sharding:## Enterprise-Only Options:#auditLog:#snmp:
CMD以管理员角色运行,CD到bin文件夹,运行,这时创建完了服务。在服务里有了服务,先不启动这个服务:
mongod --config "D:\Program Files\MongoDB\Server\5.0\bin\mongod.cfg" --install --serviceName "MongoDB" --serviceDisplayName "MongoDB"
接下来创建管理员用户。不要关闭上面的CMD,再打开一个CMD,CD到bin目录下,运行:
mongo
然后运行
> use admin
运行创建管理员用户。中的用户是基于身份role的,该管理员账户的 role是 。admin用户用于管理账号,不能进行关闭数据库等操作。
db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
运行创建root角色用户。角色:root。root角色用于关闭数据库
db.createUser({user: "root",pwd: "rootpassword", roles: [ { role: "root", db: "admin" } ]})
创建完admin管理员,创建一个超级管理员root。角色:root。root角色用于关闭数据库。
这时候可以启动服务了,启动服务前要关闭第一个CMD,要不然服务会启动失败,因为端口被占用了
二. 备份
较新的版本安装后bin文件夹里不会有备份和还原的程序,去官网下载工具程序 Line Tools |
为方便使用,下载解压后的exe文件都放在bin文件夹里,这里用到的是.exe程序
mongodump -h 0.0.0.0 --port 27017 -u root -p rootpassword -o /opt/backup
这是备份所有数据库,h是host ip,port是端口,u是用户名,p是密码,o是备份文件的文件夹
三. 还原
还原用到的程序是.exe。
mongorestore -h 0.0.0.0 --port 27017 --authenticationDatabase admin -u root -p rootpassword -d testdb --drop E:\mongodbBackup\backup\testdb
其中h是host ip,port是端口,u是用户名,p是密码,d是数据库名称,drop是备份数据库文件夹
PS:网上说是这么写 -h 0.0.0.0 --port 27017 -u root -p -d --drop E:\\\ ,我试了会报错 error to host: could not to : () error : auth error: sasl error: to using "SCRAM-SHA-1": () .
需要加上--se admin 才行