MongoDB系列第一课:MongDB简介

MongoDB系列第二课:MongDB环境搭建

MongoDB系列第三课:MongDB用户管理

MongoDB系列第四课:MongoDB数据库、集合、文档的操作

一、下载MongoDB

下载地址:https://www.mongodb.com/download-center/community

二、安装MongoDB

2.1 将下载的tgz包上传到Linux环境中

将tgz包上传到了自己创建的temp目录中。该目录位于/root目录中。

MongoDB环境搭建-LMLPHP

2.2 解压tgz文件 

通过tar命令对tgz文件做解压处理:tar -zxvf xxx.tgz

MongoDB环境搭建-LMLPHP

2.3 移动MongoDB

将解压完的MongoDB目录移动到/usr/local目录中并改名为mongodb。

MongoDB环境搭建-LMLPHP

 2.4 创建数据库目录

MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,需要手动创建data目录,并在data目录中创建db目录。data目录可以创建在任何位置。现将data目录创建键mongodb的根目录下。

MongoDB环境搭建-LMLPHP

MongoDB环境搭建-LMLPHP

至此Linux平台中的MongoDB就已经安装完毕。

三、MongoDB的启动

MongoDB的启动方式分为两种

1)前置启动

2)后置启动

无论哪种启动方式都需要执行bin目录中的mongod命令。MongoDB在启动时默认的查找数据库的路径为/data/db。如果我们数据库路径有变化,需要在该命令中通过--dbpath参数来指定db目录的路径(该路径可以是绝对路径,也可是相对路径)。

前置启动:

MongoDB的默认启动方式为前置启动。所谓前置启动就是MongoDB启动进程后会占用当前终端窗口。

进入到MongoDB的bin目录。

MongoDB环境搭建-LMLPHP

执行bin目录中的mongo命令。

MongoDB环境搭建-LMLPHP

由于我们的db目录放在mongodb的根下,所以在执行该命令时需要通过 --dbpath参数指定db路径。

MongoDB环境搭建-LMLPHP

启动后会在终端中输出一些启动信息。此时终端窗口已被启动进程所占用。

我们通过启动信息可以看到MongoDB默认的监听端口为27017

MongoDB环境搭建-LMLPHP

按Ctrl+C可结束启动进程关闭MongoDB

MongoDB环境搭建-LMLPHP

后置启动:

所谓后置启动就是以守护进程的方式启动MongoDB。需要在执行mongod命令中添加 --fork参数。

需要注意的是,--fork参数需要配合着--logpath或者是--syslog参数使用。

--logpath与--syslog参数是指定MongoDB的日志文件。

MongoDB的日志文件可以在系统中的任意位置,在mongodb目录下创建log目录,在该目录中创建一个名为mongodb.log的日志文件。

创建log目录

MongoDB环境搭建-LMLPHP

在log目录中创建mongodb.log日志文件

MongoDB环境搭建-LMLPHP

后置启动MongoDB

MongoDB环境搭建-LMLPHP

3.2  常见的启动参数

--quiet

安静输出

--port

指定服务端口号,默认端口27017

--bind

绑定服务IP,若绑定127.0.0.1,则只能本机访问

--logpath

指定MongoDB日志文件,注意是指定日志文件不是目录

--logappend

使用追加的方式写日志

--fork

守护进程的方式运行MongoDB,创建服务器进程

--auth

启用验证

--config

指定配置文件的路径,注意是指定配置文件不是目录

--journal

启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里

3.3 配置文件

如果觉得在启动MongoDB时给定的参数项太多,那么我们也可以通过配置文件来配置启动参数,配置文件可以在任意目录中,配置文件的扩展名应为.conf,配置文件中使用key=value结构。在执行MongoDB时通过--config参数来指定需要加载的配置文件。

我们在mongodb目录下创建一个etc目录,在该目录中创建一个名为mongodb.conf的配置文件。

MongoDB环境搭建-LMLPHP

创建mongodb.conf配置文件

MongoDB环境搭建-LMLPHP

编辑配置文件,在配置文件中添加配置项:

1)指定db路径

2)指定日志文件

3)配置端口

4)配置后端启动

在配置文件中配置启动参数时需要注意的是,在参数前不再加--符号,直接以参数名作为key就可以。MongoDB环境搭建-LMLPHP

通过加载配置文件启动MongoDB

MongoDB环境搭建-LMLPHP

3.4 配置环境变量

为了能够在任何目录中执行bin目录中的命令,我们可以将bin目录添加到环境变量中。

修改/etc/profile文件,添加export PATH=/usr/local/mongodb/bin:$PATH。/usr/local/monogdb/bin为MongoDB的bin目录的绝对路径。可根据自己的情况来指定。

MongoDB环境搭建-LMLPHP

重新加载/etc/profile文件: source /etc/profile

MongoDB环境搭建-LMLPHP

测试结果

MongoDB环境搭建-LMLPHP

四、MongoDB的关闭

4.1 使用Ctrl + C 关闭

如果我们的启动方式是前置启动,那么直接使用快捷键Ctrl+C就可以关闭MongoDB。这种关闭方式会等待当前进行中的的操作完成,所以依然是安全的关闭方式。

4.2 使用kill命令关闭

我们可以通过Linux的kill命令结束MongoDB进程,然后删除data目录中的mongod.lock文件,否则下次无法启动。

但是此方法不建议使用,因为会造成数据损坏现象。(旧的版本中有此问题)

4.3 使用MongoDB的函数关闭

在MongoDB中提供了两个关闭数据库的函数:

db.shutdownServer()

db.runCommand(“shutdown”)

如上两个方法都需要在admin库中执行,并且都是安全的关闭方式。

4.4 使用mongod命令关闭MongoDB【推荐】

mongod --shutdown --dbpath<数据库路径>

mongod 命令的 shutdown 选项能安全的关闭 MongoDB 服务

补充:

当我把mongodb部署到阿里云时,需要外网访问,于是在mongod.conf中加入了

bind_id=127.0.0.1,公网IP

结果始终启动不了:

[root@izbp16juwpbsbqepwbx7fuz mongodb]# mongod --config /usr/local/mongodb/etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 22243
ERROR: child process failed, exited with error number 48
To see additional information in this output, start without the "--fork" option.

最后发现,绑定公网IP是不行的,只能绑定局域网IP,如果不绑定局域网IP,那么则无法远程访问。

05-11 17:56