- 一、安装并启动MongoDB数据库
- 二、使用配置文件的方式启动MongoDB数据库
- 三、使用MongoDB数据库
- 四、添加数据库用户、安全认证
- 五、MongoDB数据库连接
- 六、Navicat工具连接MongoDB数据库
记录在服务器上面配置MongoDB数据库,以源文件的方式安装MongoDB数据库,制作配置文件,开启MongoDB数据库安全认证,使用远程连接工具连接
正文内容:
一、安装并启动MongoDB数据库
- 
    使用 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz命令直接下载Linux版本的MongoDB,如果下载速度过慢,可以先下载好文件,然后上传到服务器
- 
    使用 tar -zxvf mongodb-linux-x86_64-rhel62-3.4.3.tgz解压缩命令将文件解压到指定目录
- 
    使用 mkdir -p data/db/命令创建数据目录,mkdir logs/命令创建日志目录 此时的目录结构如下:

- 使用vim /etc/profile命令配置环境变量
在配置文件的末尾添加如下信息(环境变量需要根据主机MongoDB安装目录改变)
export PATH=/usr/local/mongodb/bin:$PATH
- 使用source /etc/profile命令让配置文件生效
- 使用下面的命令启动mongoDB
mongod --dbpath=/usr/local/mongodb/data/db/ --logpath=/usr/local/mongodb/logs/mongologs.log -fork
成功启动如下所示:

二、使用配置文件的方式启动MongoDB数据库
注意:如果跟着笔者安装完MongoDB数据库,此时MongoDB数据库已经启动,需要先关闭MongoDB数据库
使用如下命令关闭MongoDB数据库:
ps -ef|grep mongod
kill -2 进程号

- 使用下面的命令创建配置文件
touch mongod.conf
- 使用下面的命令编辑配置文件(也可以直接使用下面命令进入vim编辑器,编辑完配置文件直接保存)
vim mongod.conf
将如下配置信息编辑到配置文件(请根据自己的MongoDB数据库安装目录更改path和dbPath目录信息)
#数据库路径
dbpath=/usr/local/mongodb/data/db/
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true
- 使用下面的命令启动MongoDB服务
  mongod -f /usr/local/mongodb/mongod.conf3-1:如果看见下面图示情况,恭喜你启动失败

出现这样子的情况是因为我们没有正常关闭MongoDB服务,解决方案是:
使用下面的命令正常关闭MongoDB服务即可
输入命令:mongo,进入到MongoDB命令行
输入命令db.shutdownServer()即可正常关闭MongoDB服务
输入命令exit退出MongoDB命令行
3-2:如果看见下面图示情况,恭喜你启动成功

三、使用MongoDB数据库
输入命令mongo进入MongoDB命令行

此时已经成功进入MongoDB数据库,默认进入的是test数据库,show dbs 查看当前所有数据库

此时我们如果想退出命令行,直接输入exit命令即可

四、添加数据库用户、安全认证
对于服务器来讲,数据库对外直接暴露是一件不友好的事情,所以我们需要为MongoDB数据库添加用户,增加安全认证
MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息
也就是说当MongoDB启用auth选项时,用户需要创建数据库帐号,访问时根据帐号信息来鉴权,而数据库帐号信息就存储在admin数据库下
现在我们开始添加数据库用户、安全认证:
- 输入mongo命令进入MongoDB命令行
- 输入use admin命令使用admin数据库
- 输入db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})命令添加用户与角色信息到admin数据库
- 输入db.shutdownServer()命令正常关闭MongoDB数据库服务
- 输入vim mongodb.conf编辑配置文件 开启auth认证
auth=true
配置好后完整的配置文件如下:
#数据库路径
dbpath=/usr/local/mongodb/data/db/
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
auth=true
至此,已经将MongoDB数据库配置完毕
五、MongoDB数据库连接
- 使用如下命令开启MongoDB数据库
mongo -f /usr/local/mongodb/mongodb.conf
正常启动如下图所示

- 
    使用命令 mongo进入MongoDB数据库命令行
- 
    此时我们在命令行输入 show dbs,此时已经显示没有权限执行命令,说明刚才的添加数据库用户、安全认证操作成功

登录MongoDB数据库
- 
    使用账户密码登录MongoDB数据库 
- 
    输入命令 use admin使用admin数据库
- 
    输入命令 db.auth("root","123456")进入MongoDB数据库
显示结果会出现1则说明已经成功进入MongoDB数据库,如图所示:

六、Navicat工具连接MongoDB数据库
使用Navicat远程工具连接MongoDB数据库的时候,需要先将云服务器与linux系统防火墙放行端口
云服务器放行端口需要登录运营商云服务器管理平台设置
云服务器设置防火墙只需要添加规则即可,如下图所示:

linux7.6系统防火墙相关设置
- 使用如下命令检验防火墙是否启动
firewall-cmd --state
- 使用如下命令检查系统已经开放的所有端口
firewall-cmd --permanent --zone=public --list-ports
- 使用如下命令开启 27017 端口:
firewall-cmd --zone=public --add-port=27017/tcp --permanent
- 使用如下命令重新启动防火墙
firewall-cmd --reload
- 使用如下命令验证27017 端口是否生效
firewall-cmd --zone=public --query-port=27017/tcp
防火墙的启动与关闭
systemctl start firewalld #启动防火墙
systemctl stop firewalld #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl enable firewalld.service #设置开机启用防火墙
开启linux7.6系统防火墙命令运行结果如下图所示:

打开Navicat工具输入MongoDB数据库相关信息,测试连接,显示连接成功,则说明所有的配置无误,已经生效,如下图所示:
