1.MongoDB数据库的备份和恢复(退出数据库交互界面,在终端操作)
1.mongodump备份
mongodump -h IP -d DB_NAME -o /DUMP_DB_PATH
-h 表示mongodb server地址,
-d 表示需要备份的数据名
-o 为备份数据存放的路径
如果设置了用户名密码还要使用-u和-p参数 ,如果想要导出单独库下的一个表,再增加-c参数 。具体用法同mysqldump有类似之处 。
注:如现在导出的库名为361way ,导出的路径为/opt ,则导出后会在/opt目录下有一个361way命名的目录 ,里面是由表名命名的json和bson文件 ,具体组成类似于表结构和表数据。
而导出的内容和mysql 略有不同,mysqldump导出的是一个sql文件而不是目录 。
例子1:
mongodump -h dbhost -d dbname -o dbdir
mongodump -h 127.0.0.1 -d stu -o student
注解:将本机下stu数据库备份到当前目录的student文件夹中,会在student文件夹中自动生成一个stu文件夹,则为备份文件。
生成的stu文件夹是数据库名称。里面有好多json文件和bson文件。
例子2:(在window下的终端命令行里面输入的,即在cmd里面输入的)
E:\mongoDB\bin\mongodump -h 127.0.0.1 -d ads -o adspush
注解:将本机下ads数据库备份到当前目录的adspush文件夹中,会在adspush文件夹中自动生成一个ads文件夹,则为备份文件。
E:\mongoDB\bin\mongodump -h 127.0.0.1 -d ads -o ads/adspush
E:\mongoDB\bin\mongodump -h 127.0.0.1 -d ads -o ads\adspush
E:\mongoDB\bin\mongodump -h 127.0.0.1 -d ads -o E:\adspush
注解:直接进入cmd之后就可以输入命令了,不需要进入某个路径下再输入。
2.mongorestore恢复
mongorestore -h IP -d DB_NAME --directoryperdb /DMP_DB_PATH
这里的路径不需要将文件全部列出,或者DMP_DB_PATH/*,直接给文件夹的路径即可。
--directoryperdb:备份数据所在位置 ,例如上例中,我们将361way库备份到了 /opt 下,这里恢复的时候使用的就是/opt/361way ,此处是和备份略有区别的 。
--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。
例子1:
mongorestore -h <dbhost>:<port> -d dbname <path>
mongorestore -h 127.0.0.1:27017 -d test student/stu
注解:将student文件夹下的备份文件stu恢复到本机的test数据库。
stu是之前备份的数据库名称,是一个文件夹。
例子2:(在window下的终端命令行里面输入的,即在cmd里面输入的)
E:\mongoDB\bin\mongorestore -d ads C:\Users\deseka\Downloads\ads
注解:直接进入cmd之后就可以输入命令了,不需要进入某个路径下再输入。
2.windows下MongoDB的安装及配置
1.登录Mongodb官网:https://www.mongodb.com/download-center#community 下载 安装包。32、64位的都行。
官网下载mongoDB:http://www.mongodb.org/downloads,选择windows平台。
2.安装时,一路next就可以了。我安装在了F:\mongoDB目录下。
安装比较简单,类似于普通QQ软件,中间主要是选择“Custom”自定义 安装路径修改下:D:\software\MongoDB。然后不断“下一步”,安装至结束。
安装比较容易。难点在启动Mongodb的服务以及将MongoDB设置成Windows服务,加配置文件在windows的“服务”中找到。
3.建立工作目录:
在MongoDB目录下新建data文件夹,在data下再创建db文件夹:F:\mongoDB\data\db
在mongoDB目录下新建log 文件夹,在log 下再创建日志文件:F:\mongoDB\log\mongodb.log
因为启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。
4.启动MongoDB服务:
1.打开cmd命令行
2.进入F:\mongoDB\bin目录(注意:先输入f:进入f盘。然后输入cd F:\mongoDB\bin)
3.输入如下的命令启动mongodb服务:(即是在第三步创建的数据库存放文件路径下启动。下面四种都可以)
mongod --dbpath F:\mongoDB\data\db
mongod --dbpath "F:\mongoDB\data\db"
mongod -dbpath "F:\mongoDB\data\db"
mongod -dbpath F:\mongoDB\data\db
若启动成功,会显示mongoDB默认的监听端口:27017,mysql的是3306。
4.在浏览器中输入http://localhost:27017 (27017是mongodb的端口号)查看,若显示:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
则表示连接成功,表明服务已经启动。如果不成功,可以查看端口是否被占用。
但是在本地windows“服务”中,是没有配置上mongodb 服务的,可以打开“服务”看下。
5.测试连接
新开一个cmd窗口,进入mongodb的bin目录,输入mongo或者mongo.exe,出现如下信息说明测试通过,此时我们已经进入了test这个数据库。(前提:打开bin目录下的mongod.exe)
F:\mongoDB\bin>mongo
MongoDB shell version v4.0.4
connecting to: test
connecting to: mongodb://127.0.0.1:27017
当mongod.exe被关闭时,mongo.exe 就无法连接到数据库了,因此每次想使用mongodb数据库都要开启mongod.exe程序。
所以比较麻烦,此时我们可以将MongoDB安装为windows服务。
6.配置本地windows mongodb 服务
# 方法1:
F:\mongoDB\bin>mongod --dbpath "f:\mongoDB\data\db" --logpath "f:\mongoDB\log\mongodb.log" --install --serviceName "MongoDB"
# 方法2:
1.先在data文件下创建一个新文件夹log(用来存放日志文件)
2.在Mongodb文件夹下新建配置文件mongo.config
3.用记事本打开mongo.config ,并输入:
dbpath = F:\MongoDB\data\db
logpath= F:\MongoDB\data\log\mongo.log
4.用管理员身份打开cmd:
cmd路径:C:\Windows\System32。找到cmd,然后右键,以管理员身份运行。
5.配置windows服务:
cmd先跳转到 F:\MongoDB\bin目录下。
输入:mongod --config "F:\Mongodb\mongo.config" --install --serviceName "MongoDB"
即根据刚创建的mongo.config配置文件安装服务,名称为MongoDB。
完成后,再次查看本地的服务(services.msc)。
7.启动MongoDB服务:同样是在bin目录下
F:\mongoDB\bin>net start MongoDB(启动服务)
8.关闭服务和删除进程
F:\mongoDB\bin>NET stop MongoDB (关闭服务)
F:\mongoDB\bin>mongod --dbpath "f:\mongoDB\data\db" --logpath "f:\mongoDB\data\log\MongoDB.log" --remove --serviceName "MongoDB"
注意:log文件夹是在mongoDB文件夹下面,还是在data文件夹下面。在哪个下面都可以。