麒麟系统—— openKylin 安装 mongodb


MongoDB是一款高性能、开源的NoSQL数据库,因其灵活的数据结构、高可扩展性和易用性而受到广泛应用。麒麟系统是基于Linux的操作系统,openKylin是其开源社区版本。本文将分享如何在麒麟系统下的openKylin上安装MongoDB。

一、准备工作

1. 确保麒麟系统 openKylin 已经安装完毕。

我这里使用的鸿蒙系统是 :openKylin-2.0-alpha-x86_64

二、下载解压 MongoDB

  1. 下载MongoDB源码:访问MongoDB官网(https://www.mongodb.com/try/download/community),选择 ubuntu 版本下载。将下载的文件解压,并切换到解压后的目录。

在这里插入图片描述

mkdir /home/mongodb
cd /home/mongodb
  1. mkdir /home/mongodb

    • mkdir 是 “make directory” 的缩写,用于创建目录。
    • /home/mongodb 是要创建的目录的路径。
    • 执行该命令后,系统会在 /home 目录下创建一个名为 mongodb 的新目录。
  2. 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
  1. 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 的压缩文件。
  2. 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

  1. export MONGO_HOME=/usr/local/mongodb

    • export 命令用于设置环境变量。
    • MONGO_HOME 是一个用户定义的环境变量,被设置为 /usr/local/mongodb,即 MongoDB 的安装路径。
    • 这个环境变量的作用是为了方便后续命令或程序能够引用 MongoDB 安装目录的路径而不需要每次都写完整路径。
  2. 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


  1. Unit 部分

    • [Unit] 是一个部分的标头,用于定义服务单元的基本属性。
    • Description:服务的描述,用于标识服务的用途。在这里,描述为 “MongoDB Database Server”,表示这个服务是 MongoDB 数据库服务器。
    • After=network.target:指定服务应该在 network.target 之后启动。这确保在网络服务准备就绪后才启动 MongoDB 服务。
  2. Service 部分

    • [Service] 部分定义了服务的具体配置。
    • ExecStart:指定服务启动时执行的命令。在这里,指定了 mongod 可执行文件的路径以及相关的启动参数,如数据存储路径、日志路径、绑定 IP 地址和端口号。
    • Restart=always:配置服务在失败或退出时自动重启。这有助于确保 MongoDB 一直处于运行状态。
    • User=root:指定服务运行的用户。在这里,指定为 root 用户。请注意,最好使用非特权用户来运行服务,以提高系统安全性。(我这里用于演示,所以使用root,一般情况下需要创建mongdb用户)
  3. 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 服务。下面是每个命令的解释:

  1. sudo systemctl enable mongod

    • systemctl 是 Systemd 的命令行工具,用于管理系统和服务。
    • enable 命令用于启用服务,使其在系统启动时自动启动。
    • mongod 是服务的名称。在前面的配置文件中,我们定义了一个名为 mongod 的 MongoDB 服务单元。
    • 执行这个命令后,Systemd 将在系统启动时自动启动 MongoDB 服务。
  2. sudo systemctl start mongod

    • start 命令用于启动服务。执行此命令将立即启动 MongoDB 服务。
    • mongod 是服务的名称,与之前定义的服务单元相对应。
    • 执行这个命令后,MongoDB 服务将会立即启动,或者如果已经启动过了,它将不会有任何影响。

在这里插入图片描述

sudo systemctl status mongod

  • sudo systemctl status mongod
    • systemctl 是 Systemd 的命令行工具,用于管理系统和服务。
    • status 命令用于获取服务的当前状态。
    • mongod 是服务的名称,对应之前定义的 MongoDB 服务单元。
    • sudo 用于以超级用户权限运行命令。

执行这个命令后,系统会显示 MongoDB 服务的当前状态信息,包括是否正在运行、运行时的进程 ID、启动时间等。

在这里插入图片描述

相关推荐

  1. OpenKylin安装Redis

    2024-01-29 09:40:01       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-29 09:40:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-29 09:40:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-29 09:40:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-29 09:40:01       20 阅读

热门阅读

  1. 无穷大与无穷小【高数笔记】

    2024-01-29 09:40:01       35 阅读
  2. DAY_10(区间dp)

    2024-01-29 09:40:01       33 阅读
  3. 上线服务器流程用法及说明

    2024-01-29 09:40:01       36 阅读
  4. Anaconda中安装包下载超时

    2024-01-29 09:40:01       43 阅读
  5. G1与ZGC

    G1与ZGC

    2024-01-29 09:40:01      42 阅读
  6. 第二百九十三回

    2024-01-29 09:40:01       41 阅读
  7. 【leetcode100-074/075/076】【堆】三题合集

    2024-01-29 09:40:01       35 阅读
  8. 【力扣经典面试题】合并两个有序数组

    2024-01-29 09:40:01       36 阅读