先决条件
- 再次强调一下,确认好服务器的操作系统版本,可参考:查看linux操作系统版本
- 是否是mongoDB支持的版本,如下仅支持的Ubuntu版本
前言
Linux其他系统可直接参考官网:在 Linux 上安装 MongoDB 社区版
如下,包括Ubuntu系统在内的所有教程都用
下面仅以我实操Ubuntu系统安装过程讲解(其实也是跟随mongo官网走了一遍),废话不多说,上干货
Ubuntu 系统安装 MongoDB 最新稳定社区版
一、安装 MongoDB 社区版
1.导入包管理系统使用的公钥
终端执行以下命令----(目的:以从中导入 MongoDB 公共 GPG 密钥)
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
成功执行完如下显示 OK
如果有报错提示gnupg未安装
可以执行下面两步
使用以下命令安装gnupg及其所需的库:
sudo apt-get install gnupg
- 安装后,重试导入密钥:
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
2.为 MongoDB 创建文件
这里就需要知道Ubuntu系统的小版本号了,如果不清楚,依然参考:查看linux操作系统版本
不同版本号执行的命令不同
选择对应的 Ubuntu 版本执行如下命令
(目的:创建文件- /etc/apt/sources.list.d/mongodb-org-5.0.list)
Ubuntu 20.04版本
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
我的是Ubuntu 20.04版本
执行命令
执行完检查,已然创建了该文件
Ubuntu 18.04 版本
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
Ubuntu 16.04 版本
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
3.重新加载本地包数据库
执行如下命令
sudo apt-get update
执行命令截图,如图最下面,出现Reading package lists… Done,即执行完成
4.安装 MongoDB 包
这里可以选择安装最新稳定版本的 MongoDB 或特定版本的 MongoDB
我是安装的最新稳定版本,至于特定版本也没那个需求,就不赘述了,有需要的可以翻上面的mongo官网参考
安装命令如下
sudo apt-get install -y mongodb-org
执行命令中。。。
安装完成如下
OK了,安装步骤到此圆满结束,我们开启运行mongo之旅
二、运行 MongoDB 社区版
在运行之前,先看一下数据和日志存放目录,以及配置文件,或者可以先跳过直接看初始化系统
数据和日志目录
如果是根据我上面的流程通过包管理器安装的,那么数据目录 /var/lib/mongodb和日志目录/var/log/mongodb会在安装过程中创建
数据和日志目录如下图
默认情况下,MongoDB 使用mongodb用户帐户运行。如果更改运行 MongoDB 进程的用户,则还必须修改对数据和日志目录的权限,以授予该用户访问这些目录的权限。
配置文件
官方 MongoDB 包中包含一个配置文件( /etc/mongod.conf)。这些设置(例如数据目录和日志目录规范)在启动时生效。也就是说,如果在MongoDB实例运行时更改配置文件,必须重启实例才能使更改生效。
配置文件如下
1.初始化系统
要运行和管理mongod进程,需要使用操作系统的内置初始化系统。
- 最新版本的 Linux 倾向于使用systemd(使用systemctl命令)
- 旧版本的 Linux 倾向于使用System V init(使用service命令)。
不确定使用的哪个 init 系统,可运行以下命令:
ps --no-headers -o comm 1
如下,我是systemd
下面分init 系统展开
(1)新版本-systemd系统
因为我的就是systemd系统,所以这部分会附加一些实操截图
a.启动 MongoDB
执行如下启动命令
sudo systemctl start mongod
如果在启动时收到类似如下的错误 mongod
Failed to start mongod.service: Unit mongod.service not found.
需要先运行以下命令:
sudo systemctl daemon-reload
然后再次运行启动命令
sudo systemctl start mongod
b.验证 MongoDB 是否已成功启动
sudo systemctl status mongod
成功启动则如下截图展示
如果想确保系统重启后仍然启动MongoDB,可通过如下命令设置:
sudo systemctl enable mongod
c.停止 MongoDB
sudo systemctl stop mongod
d.重启 MongoDB
sudo systemctl restart mongod
e.使用 MongoDB
运行以下命令默认连接端口 27017的mongod
mongosh
如下图进入了,可以进行使用了
(2)旧版本-init系统
a.启动 MongoDB
sudo service mongod start
b.验证MongoDB是否启动成功
sudo service mongod status
还可以检查日志文件查看 mongod进程的当前状态,默认: /var/log/mongodb/mongod.log
如果是正在运行的 mongod实例展示如下:
[initandlisten] waiting for connections on port 27017
c.停止 MongoDB
sudo service mongod stop
d.重启 MongoDB
sudo service mongod restart
e.使用 MongoDB
默认连接端口 27017的mongod
mongosh
三、卸载 MongoDB 社区版(反正我没搞)
这个就不多说了
大家需要的话照样参考上面mongo官网去尝试吧🤦♂️,我实在不敢招惹mongoDB了,怕了怕了