梁恒嘉的技术专栏 全栈之路

Linux7.6安装MongoDB数据库

2022-09-22
NanKe

记录在服务器上面配置MongoDB数据库,以源文件的方式安装MongoDB数据库,制作配置文件,开启MongoDB数据库安全认证,使用远程连接工具连接

正文内容:

一、安装并启动MongoDB数据库

  1. 使用wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz命令直接下载Linux版本的MongoDB,如果下载速度过慢,可以先下载好文件,然后上传到服务器

  2. 使用tar -zxvf mongodb-linux-x86_64-rhel62-3.4.3.tgz解压缩命令将文件解压到指定目录

  3. 使用mkdir -p data/db/命令创建数据目录,mkdir logs/命令创建日志目录 此时的目录结构如下:

在这里插入图片描述

  1. 使用vim /etc/profile命令配置环境变量

在配置文件的末尾添加如下信息(环境变量需要根据主机MongoDB安装目录改变)

export PATH=/usr/local/mongodb/bin:$PATH
  1. 使用source /etc/profile命令让配置文件生效
  2. 使用下面的命令启动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 进程号

在这里插入图片描述

  1. 使用下面的命令创建配置文件 touch mongod.conf
  2. 使用下面的命令编辑配置文件(也可以直接使用下面命令进入vim编辑器,编辑完配置文件直接保存) vim mongod.conf

将如下配置信息编辑到配置文件(请根据自己的MongoDB数据库安装目录更改pathdbPath目录信息)

#数据库路径
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
  1. 使用下面的命令启动MongoDB服务 mongod -f /usr/local/mongodb/mongod.conf 3-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数据库下

现在我们开始添加数据库用户、安全认证:

  1. 输入mongo命令进入MongoDB命令行
  2. 输入use admin命令使用admin数据库
  3. 输入db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})命令添加用户与角色信息到admin数据库
  4. 输入db.shutdownServer()命令正常关闭MongoDB数据库服务
  5. 输入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数据库连接

  1. 使用如下命令开启MongoDB数据库 mongo -f /usr/local/mongodb/mongodb.conf

正常启动如下图所示

在这里插入图片描述

  1. 使用命令mongo进入MongoDB数据库命令行

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

在这里插入图片描述

登录MongoDB数据库

  1. 使用账户密码登录MongoDB数据库

  2. 输入命令use admin使用admin数据库

  3. 输入命令db.auth("root","123456")进入MongoDB数据库

显示结果会出现1则说明已经成功进入MongoDB数据库,如图所示:

在这里插入图片描述

六、Navicat工具连接MongoDB数据库

使用Navicat远程工具连接MongoDB数据库的时候,需要先将云服务器与linux系统防火墙放行端口

云服务器放行端口需要登录运营商云服务器管理平台设置

云服务器设置防火墙只需要添加规则即可,如下图所示:

在这里插入图片描述

linux7.6系统防火墙相关设置

  1. 使用如下命令检验防火墙是否启动 firewall-cmd --state
  2. 使用如下命令检查系统已经开放的所有端口 firewall-cmd --permanent --zone=public --list-ports
  3. 使用如下命令开启 27017 端口: firewall-cmd --zone=public --add-port=27017/tcp --permanent
  4. 使用如下命令重新启动防火墙 firewall-cmd --reload
  5. 使用如下命令验证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数据库相关信息,测试连接,显示连接成功,则说明所有的配置无误,已经生效,如下图所示:

在这里插入图片描述


 

Content