在 Linux 中使用 yum 安装部署并启动连接 MongoDB 7.x(MongoDB 配置文件、MongoDB 服务的启动和停止、命令行方式启动连接、远程图形化界面方式访问连接 MongoDB)

在 Linux(红帽系列) 中安装 MongoDB 7.x,我们这里使用 yum 工具实现 MongoDB 的安装。
我使用的 Linux 发行版位 CentOS Stream 9。
官方文档:https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-red-hat/
Linux(红帽系列) 中 yum 工具的使用可以参考:https://www.yuque.com/u27599042/gny4fg/get78mmpfep167c9#UgzxP

MongoDB 7.x 支持的 Linux 发行版操作系统

MongoDB 只支持 64 位操作系统架构的 Linux 发行版。
MongoDB 7.x 支持的 x86_64 架构的 Linux 发行版:

  • Red Hat Enterprise Linux (RHEL)
  • CentOS Linux
  • Oracle Linux
  • Rocky Linux
  • AlmaLinux

MongoDB 7.x 支持的 arm64 架构的 Linux 发行版:

  • RHEL
  • CentOS
  • Oracle
  • Rocky
  • AlmaLinux

MongoDB 的版本号

MongoDB 版本号的命名规则是 x.y.z,当其中的 y 是奇数时表示当前的版本为开发版,当其中的 y 是偶数时表示当前的版本为稳定版,所以我们下载 MongoDB 时选择版本号 y 是偶数的版本下载,其中的 z 是修正版本号,数字越大越好

安装配置 MongoDB 的 yum 仓库

在使用 yum 工具安装 MongoDB 之前,我们需要先在 Linux 操作系统中安装 MongoDB 的 yum 仓库,其实就是在 Linux 操作系统中配置让 yum 工具知道从哪里下载 MongoDB rpm 软件包并获取 MongoDB rpm 软件包依赖哪些 rpm 软件包。
在配置的 yum 仓库所对应的下载源服务器上面存放了相应的 rpm 软件包,并且记录了 rpm 软件包依赖哪些 rpm 软件包的相关信息。
我们先进入 /etc/yum.repos.d 目录中,在该目录中存放了本地 Linux 中配置的所有 yum 仓库的配置文件

cd /etc/yum.repos.d

image.png
接下来,我们在 /etc/yum.repos.d 目录下新建 mongodb.repo 文件,并在其中配置 MongoDB 的 yum 仓库

vim mongodb.repo

然后按下 i,进入插入模式,要在 mongodb.repo 文件中配置的 MongoDB yum 仓库信息如下:

[mongodb-org-7.0-office] 配置 MongoDB 7.0 官方的 yum 仓库;
name 配置的 yum 仓库的名称;
baseurl rpm 软件包下载的仓库地址,如果要更换为其他版本的 MongoDB yum 仓库源,可以在 https://repo.mongodb.org/ 中根据需要自行寻找,也可以在 mongodb.repo 文件中配置多个 MongoDB 的 yum 仓库,使用 enabled 控制是否启用指定的仓库;
gpgcheck 是否检查软件包的合法性;
enabled 是否启用当前所在的 yum 仓库;
gpgkey 检查软件包的合法性所需的公钥的下载地址。
由于在后面的 MongoDB 下载安装步骤中,使用官方的 MongoDB yum 仓库下载安装失败,mongodb-database-tools-100.9.4-1.x86_64: Cannot download, all mirrors were already tried without success,所以后面新增国内的网易云 MongoDB yum 镜像仓库,并禁用官方的 MongoDB yum 仓库。
注意,如果修改了 yum 仓库配置,记得使用 **yum clean all** 清理缓存

[mongodb-org-7.0-office]
name=MongoDB Community 7.0 Office Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=0
gpgkey=https://pgp.mongodb.com/server-7.0.asc

[mongodb-org-7.0-wangyi163]
name=MongoDB Community 7.0 Wangyi163 Repository
baseurl=https://mirrors.163.com/mongodb/yum/el9-7.0/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc

image.png
image.png
然后按下 Esc 退出插入模式,然后按下 :wq 保存并退出。

yum repolist all | grep mongodb

image.png
接下来,我们查看能否获取到 MongoDB 相关 rpm 软件包的信息,检测 MongoDB 的 yum 仓库是否安装配置完成

yum search mongodb

image.png
然后,我们在查看一下接下来要安装的 MongoDB rpm 软件包的信息

如果后面我们不指定安装的 MongoDB 的小版本,可以选择安装 mongodb-org,因为 mongodb-org 依赖 mongodb-org-database、mongodb-org-server、mongodb-mongosh、mongodb-org-mongos、mongodb-org-tools,所以直接安装 mongodb-org 可以将其他 rpm 直接一起安装

yum info mongodb-org

image.png

使用 yum 工具安装 MongoDB

我们在红帽系列 Linux 操作系统中安装 MongoDB 的 yum 仓库后,就可以使用 yum 工具安装 MongoDB 了。

-y:在执行操作时自动回答 “yes”,省去用户确认步骤。

yum -y install mongodb-org

如果你要指定安装的 MongoDB 的小版本,那么使用 yum 安装 MongoDB 的命令中要为 mongodb-org 及其所依赖的 rpm 软件包 mongodb-org-database、mongodb-org-server、mongodb-mongosh、mongodb-org-mongos、mongodb-org-tools 指定版本

yum install -y mongodb-org-7.0.7 mongodb-org-database-7.0.7 mongodb-org-server-7.0.7 mongodb-mongosh-7.0.7 mongodb-org-mongos-7.0.7 mongodb-org-tools-7.0.7

image.png
接下来,我们执行如下命令,查看 Linux 操作系统中是否存在 MongoDB 相关的 rpm 软件,存在则说明安装成功

rpm -q mongodb-org

image.png

MongoDB 服务的启动和停止

由于使用 yum 工具安装 MongoDB 会自动为我们在 Linux 系统中创建安装 MongoDB 的系统服务,所以我们可以通过控制 MongoDB 服务的启动和停止,从而控制 MongoDB 的启动运行和停止。

查看 MongoDB 服务的状态

systemctl status mongod

image.png

启动 MongoDB 服务

systemctl start mongod

image.png

停止 MongoDB 服务

systemctl stop mongod

image.png

启动 MongoDB 服务的开机自启

systemctl enable mongod

image.png

关闭 MongoDB 服务的开机自启

systemctl disable mongod

image.png

MongoDB 的配置文件

首先,我们需要知道使用 yum 工具安装 MongoDB 完成之后配置文件的存放位置,由于 MongoDB 数据库服务是由 mongodb-org-server 提供,且 mongodb-org-server 说到底是由 rpm 软件包安装,所以可以使用如下命令列出 mongodb-org-server 安装完成后与其相关的文件在 Linux 中的位置。

rpm 相关说明可以参考:https://www.yuque.com/u27599042/gny4fg/eiv3q389vst828s4

rpm -ql mongodb-org-server

image.png
从上图中,我们可以得到 MongoDB 的配置文件为 /etc/mongod.conf。
MongoDB 配置文件 /etc/mongod.conf 中的默认配置如下:

MongoDB 配置文件中所有配置项说明的官方文档:http://docs.mongodb.org/manual/reference/configuration-options/
更多的 MongoDB 配置文件配置解释也可参考:

这里说明一下(也可能是我自己的问题),对于 MongoDB 配置文件中的指定日志文件的存放路径的配置项和指定 MongoDB 数据库的存放位置的配置项,两个不建议修改,一修改就出现如下报错。

搜索到的解决措施,如手动创建目录和文件、修改目录和文件的权限等,我尝试了是无效没有解决,将这两个配置项修改会原来的值就可以正常启动 MongoDB,所以我不建议修改,当然不排除是我自己的问题
image.png
image.png

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
# 和日志相关的配置
systemLog:
  # MongoDB 所有日志输出的目标指定为文件
  destination: file
  # true 日志的写入方式为在指定的日志文件中追加写入
  #(false 则会在指定的日志文件存放路径的同一个目录下新建日志文件记录日志)
  logAppend: true
  # 指定日志文件的存放路径
  # 默认情况下,MongoDB 的日志文件为 /var/log/mongodb/mongod.log
  path: /var/log/mongodb/mongod.log

# Where and how to store data.
# 数据库相关配置
storage:
  # 指定 MongoDB 数据库的存放位置
  dbPath: /var/lib/mongo

# how the process runs
# 进程管理相关配置
processManagement:
  # MongoDB 的时区信息直接使用 Linux 操作系统的时区信息
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
# 网络相关配置
net:
  # 绑定的端口,默认是 27017
  # MongoDB 运行监听的端口号
  port: 27017
  # 服务实例绑定的 IP,默认是 localhost
  # 即有哪些 IP 能够访问 MongoDB 服务
  # 0.0.0.0 所有 IP 可以访问,一般如果要远程访问则设置为该值
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:
# 安全相关的配置

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

然后,我将其中的内容修改为如下配置:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
# 和日志相关的配置
systemLog:
  # MongoDB 所有日志输出的目标指定为文件
  destination: file
  # true 日志的写入方式为在指定的日志文件中追加写入
  #(false 则会在指定的日志文件存放路径的同一个目录下新建日志文件记录日志)
  logAppend: true
  # 指定日志文件的存放路径
  # 默认情况下,MongoDB 的日志文件为 /var/log/mongodb/mongod.log
  path: /var/log/mongodb/mongod.log

# Where and how to store data.
# 数据库相关配置
storage:
  # 指定 MongoDB 数据库的存放位置
  dbPath: /var/lib/mongo

# how the process runs
# 进程管理相关配置
processManagement:
  # MongoDB 的时区信息直接使用 Linux 操作系统的时区信息
  timeZoneInfo: /usr/share/zoneinfo
  # 是否启用在后台运行 mongos 或 mongod 进程的守护进程模式。
  # true 启用;false 前台运行
  fork: true

# network interfaces
# 网络相关配置
net:
  # 绑定的端口,默认是 27017
  # MongoDB 运行监听的端口号
  port: 27017
  # 服务实例绑定的 IP,默认是 localhost
  # 即有哪些 IP 能够访问 MongoDB 服务
  # 0.0.0.0 所有 IP 可以访问,一般如果要远程访问则设置为该值
  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:
# 安全相关的配置

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

image.png
配置文件修改完成后,我们需要重启 MongoDB 服务

systemctl restart mongod

image.png

MongoDB 的访问连接

命令行方式访问连接 MongoDB

由于我们在前面选择直接安装 mongodb-org,且mongodb-org 依赖于 mongodb-mongosh,所以使用 yum 工具在 Linux 中安装 MongoDB 会一同将 MongoDB Shell 安装完成,同时会帮我们将其配置到系统环境变量中,我们可以在任何位置执行。
MongoDB Shell 就是 MongoDB 提供的可以让我们通过终端命令行的方式访问连接 MongoDB 的命令行工具。
然后我们就可以使用命令行的方式连接 MongoDB 了。

默认情况下,MongoDB 是没有开启权限验证的,如果我们不指定连接的 MongoDB 所在服务器的 IP 及其监听的端口号,默认连接本机(127.0.0.1) 27017 端口的 MongoDB

mongosh
# 或者
mongosh --host=127.0.0.1 --port=27017

image.png
image.png

图形化界面方式访问连接 MongoDB

我这里使用的图形化界面连接工具为 DataGrip
需要注意,如果你的 Linux 中开启了防火墙,那么需要开放相应的端口,或者将防火墙关闭(生产环境下不建议)

新增 MongoDB 连接数据源
image.png
输入 MongoDB 所在的 IP 及其监听的端口号,如果开启了权限验证,则输入用户名和密码,没有下载相应的驱动需要先进行下载,然后测试连接,成功则点击 OK 完成新增 MongoDB 连接数据源
image.png
image.png
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值