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.目前mongodb服务已经启动了,关闭这个cmd窗口,会自动关闭服务。
事实上每次通过命令行启动Mongo是痛苦的,因此我们需要建立一个永久性服务,这就需要我们把Mongo加入到Windows本地服务中去。
5.在浏览器中输入http://localhost:27017 (27017是mongodb的端口号)查看,若显示:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
则表示连接成功,表明服务已经启动。如果不成功,可以查看端口是否被占用。
但是在本地windows“服务”中,是没有配置上mongodb 服务的,可以打开“服务”看下。
6.配置本地windows mongodb 服务,将MongoDB服务器作为Windows服务运行。
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文件夹下面。在哪个下面都可以。
3.配置本地windows mongodb 服务(将MongoDB服务器作为Windows服务运行)
# 方法1:
E:\mongoDB\bin>mongod --logpath e:\mongodb\data\log\mongodb.log --logappend --dbpath e:\mongodb\data --directoryperdb --serviceName MongoDB --install
服务创建完成之后,默认是停止状态,我们需要手动打开服务,用命令,net start MongoDB,开启服务。(如果不生效,也可以自己打开任务管理器,找到相关服务,手动打开。如图表示mongodb服务已启动)
https://www.cnblogs.com/chenlq/p/6515876.html
重新打开一个cmd终端(一定要管理员身份C:\Windows\System32\cmd.exe,右键以管理员身份运行,这个超级重要),继续来到bin目录下,输入:
# 方法2:
E:\mongoDB\bin>mongod --dbpath "E:\MongoDB\data\db" --logpath "E:\MongoDB\data\log\mongo.log" --install --serviceName "MongoDB"
输入上述命令之后出现了一些错误
Failed global initialization:FileNotOpen: Failed to open "E:\MongoDB\data\log\mongo.log"
研究后发现是没有创建这些文件,手动创建这些文件后重新打开cmd命令行,进入到bin里面,继续输入上面命令即可。
接下来用命令net start mongodb 用来开启服务。(管理员身份运行)
卸载windows服务,删除 windows 服务:sc delete 服务名称。(管理员身份运行)
https://www.cnblogs.com/PeterZhang1520389703/p/8290401.html
4.进入mongodb数据库
# 进入bin目录下,输入:mongo
E:\mongoDB\bin>mongo
5.如何配置环境变量
1、计算机右键点击属性。
2、属性里面找到高级设置。
3、找到环境变量选项。
4、找到path更改环境变量(注意这里必须在前面加一个分号(英),路径根据自己的路径选择,主要是找到exe文件所在的上级目录),也就是:E:\mongo\bin目录下。
5、检测是否成功:输入mongod --help 如果出现如下画面说明,环境变量已经配好了。
6、输入mongo命令。