麒麟系统—— openKylin 安装 mongodb
- 一、准备工作
- 1. 确保麒麟系统 openKylin 已经安装完毕。
- 二、下载解压 MongoDB
- 二、增加环境变量
- 三、配置MongoDB
- 创建数据目录
- 创建日志文件
- 运行
- 四、加入到服务中
MongoDB是一款高性能、开源的NoSQL数据库,因其灵活的数据结构、高可扩展性和易用性而受到广泛应用。麒麟系统是基于Linux的操作系统,openKylin是其开源社区版本。本文将分享如何在麒麟系统下的openKylin上安装MongoDB。
一、准备工作
1. 确保麒麟系统 openKylin 已经安装完毕。
我这里使用的鸿蒙系统是 :openKylin-2.0-alpha-x86_64
二、下载解压 MongoDB
- 下载MongoDB源码:访问MongoDB官网(https://www.mongodb.com/try/download/community),选择 ubuntu 版本下载。将下载的文件解压,并切换到解压后的目录。

mkdir /home/mongodb
cd /home/mongodb
-
mkdir /home/mongodb:mkdir是 “make directory” 的缩写,用于创建目录。/home/mongodb是要创建的目录的路径。- 执行该命令后,系统会在
/home目录下创建一个名为mongodb的新目录。
-
cd /home/mongodb:cd是 “change directory” 的缩写,用于改变当前工作目录。/home/mongodb是要切换到的目标目录。- 执行该命令后,当前工作目录会切换到
/home/mongodb
将下载好的文件拖到这个目录下面

cd /home/mongodb
sudo tar -zxvf mongodb-linux-x86_64-ubuntu2004-7.0.5.tgz
sudo mv /home/mongodb/mongodb-linux-x86_64-ubuntu2004-7.0.5 /usr/local/mongodb
cd /usr/local/mongodb
-
sudo tar -zxvf mongodb-linux-x86_64-ubuntu2004-7.0.5.tgz:sudo是 “superuser do” 的缩写,用于以超级用户权限执行命令。tar是解压缩和打包的命令。-zxvf是 tar 命令的选项,分别表示解压(-x),使用 gzip 解压缩(-z),显示详细输出(-v),指定文件(-f)。mongodb-linux-x86_64-ubuntu2004-7.0.5.tgz是要解压的文件的名称。- 执行该命令后,它将解压缩名为
mongodb-linux-x86_64-ubuntu2004-7.0.5.tgz的压缩文件。
-
sudo mv /home/mongodb/mongodb-linux-x86_64-ubuntu2004-7.0.5 /usr/local/mongodb:sudo是超级用户权限。mv是 “move” 的缩写,用于移动或重命名文件或目录。/home/mongodb/mongodb-linux-x86_64-ubuntu2004-7.0.5是源目录或文件的路径。/usr/local/mongodb是目标路径。- 执行该命令后,它将 MongoDB 目录从
/home/mongodb/mongodb-linux-x86_64-ubuntu2004-7.0.5移动到/usr/local/mongodb。


二、增加环境变量
sudo vim /etc/profile
export MONGO_HOME=/usr/local/mongodb
export PATH=$MONGO_HOME/bin:$PATH
-
export MONGO_HOME=/usr/local/mongodb:export命令用于设置环境变量。MONGO_HOME是一个用户定义的环境变量,被设置为/usr/local/mongodb,即 MongoDB 的安装路径。- 这个环境变量的作用是为了方便后续命令或程序能够引用 MongoDB 安装目录的路径而不需要每次都写完整路径。
-
export PATH=$MONGO_HOME/bin:$PATH:PATH是一个特殊的环境变量,包含一系列用冒号分隔的目录路径,系统会在这些路径中查找可执行文件。- 这个命令将之前设置的
MONGO_HOME的 bin 目录添加到PATH环境变量中。 - 这样做的目的是为了让系统能够在命令行中直接识别并执行 MongoDB 的可执行文件,而无需提供完整的路径。

三、配置MongoDB
创建数据目录
mkdir /usr/local/mongodb/data
创建日志文件
空文件即可
mkdir /usr/local/mongodb/logs
touch /usr/local/mongodb/logs/mongod.logs
运行
mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/logs/mongod.log --bind_ip 0.0.0.0 --port 27017
mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/logs/mongod.log --bind_ip 0.0.0.0 --port 27017
-
mongod:这是 MongoDB 数据库服务器的可执行文件。 -
--dbpath /usr/local/mongodb/data:指定数据库文件存储的路径。在这里,数据库文件将被存储在/usr/local/mongodb/data目录下。这是 MongoDB 存储数据的位置。 -
--logpath /usr/local/mongodb/logs/mongod.log:指定 MongoDB 服务器的日志文件路径。在这里,日志文件将被写入到/usr/local/mongodb/logs/mongod.log。 -
--bind_ip 0.0.0.0:指定 MongoDB 服务器绑定的 IP 地址。0.0.0.0表示监听所有可用的网络接口,允许来自任何 IP 地址的连接。 -
--port 27017:指定 MongoDB 服务器监听的端口号。在这里,服务器将监听默认的 MongoDB 端口号27017。
我们简单运行起来。

再通过工具连接,就会发现已经连通了。


但是我们这样只要断开运行,mongodb就不会运行了。

所以我们可以将这个命令加入到服务中
四、加入到服务中
sudo vim /etc/systemd/system/mongod.service
[Unit]
Description=MongoDB Database Server
After=network.target[Service]
ExecStart=/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/logs/mongod.log --bind_ip 0.0.0.0 --port 27017
Restart=always
User=root[Install]
WantedBy=multi-user.target
-
Unit 部分:
[Unit]是一个部分的标头,用于定义服务单元的基本属性。Description:服务的描述,用于标识服务的用途。在这里,描述为 “MongoDB Database Server”,表示这个服务是 MongoDB 数据库服务器。After=network.target:指定服务应该在network.target之后启动。这确保在网络服务准备就绪后才启动 MongoDB 服务。
-
Service 部分:
[Service]部分定义了服务的具体配置。ExecStart:指定服务启动时执行的命令。在这里,指定了mongod可执行文件的路径以及相关的启动参数,如数据存储路径、日志路径、绑定 IP 地址和端口号。Restart=always:配置服务在失败或退出时自动重启。这有助于确保 MongoDB 一直处于运行状态。User=root:指定服务运行的用户。在这里,指定为root用户。请注意,最好使用非特权用户来运行服务,以提高系统安全性。(我这里用于演示,所以使用root,一般情况下需要创建mongdb用户)
-
Install 部分:
[Install]部分定义了服务的安装相关信息。WantedBy=multi-user.target:指定服务所属的 target,即希望服务在multi-user.target启动时运行。multi-user.target是系统正常运行时的默认目标。
请注意,最好使用非特权用户来运行服务,以提高系统安全性。(我这里用于演示,所以使用root,一般情况下需要创建mongdb用户)
请注意,最好使用非特权用户来运行服务,以提高系统安全性。(我这里用于演示,所以使用root,一般情况下需要创建mongdb用户)

sudo systemctl enable mongod
sudo systemctl start mongod
这两个命令用于管理 Systemd 服务,特别是 MongoDB 服务。下面是每个命令的解释:
-
sudo systemctl enable mongod:systemctl是 Systemd 的命令行工具,用于管理系统和服务。enable命令用于启用服务,使其在系统启动时自动启动。mongod是服务的名称。在前面的配置文件中,我们定义了一个名为mongod的 MongoDB 服务单元。- 执行这个命令后,Systemd 将在系统启动时自动启动 MongoDB 服务。
-
sudo systemctl start mongod:start命令用于启动服务。执行此命令将立即启动 MongoDB 服务。mongod是服务的名称,与之前定义的服务单元相对应。- 执行这个命令后,MongoDB 服务将会立即启动,或者如果已经启动过了,它将不会有任何影响。

sudo systemctl status mongod
sudo systemctl status mongod:systemctl是 Systemd 的命令行工具,用于管理系统和服务。status命令用于获取服务的当前状态。mongod是服务的名称,对应之前定义的 MongoDB 服务单元。sudo用于以超级用户权限运行命令。
执行这个命令后,系统会显示 MongoDB 服务的当前状态信息,包括是否正在运行、运行时的进程 ID、启动时间等。
