麒麟系统—— openKylin 安装 mongodb

麒麟系统—— openKylin 安装 mongodb

  • 一、准备工作
    • 1. 确保麒麟系统 openKylin 已经安装完毕。
  • 二、下载解压 MongoDB
  • 二、增加环境变量
  • 三、配置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、启动时间等。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/654822.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis 的注解实现方法

MyBatis 的注解实现方法 MyBatis 的注解实现方法引入依赖添加配置创建表创建实体类创建mapper接口InsertDeleteSelectResults和ResultMap通过配置文件解决 UpdateOptions MyBatis 的注解实现方法 引入依赖 在springBoot项目中下载了EditStarters插件的,可以直接在配置文件处右…

效率高的B树系列

文章目录 前言B树概念性质插入数据分析代码实现性能分析 B树概念特性插入数据分析应用 B*树概念B*树的分裂 总结B树系列的区别B树系列对比哈希和平衡搜索树 前言 前面我们所学习到的数据结构,只能用来存储少量的数据,因为内存大小是非常有限的&#xff…

.ui文件相关

目录 ui类生成过程: 提问: 等以后自己熟练了用代码写这些样式内容,尽量用代码写,原因很简单: 用代码写的可以直接修改代码,但是在设计界面修改的东西,电脑没有QC这玩意,还真不好改…

Gitlab7.14 中文版安装教程

Gitlab7.14 中文版安装教程 注: 本教程由羞涩梦整理同步发布,本人技术分享站点:blog.hukanfa.com转发本文请备注原文链接,本文内容整理日期:2024-01-28csdn 博客名称:五维空间-影子,欢迎关注 …

JWT(JSON Web Token)详解以及在go-zero中配置的方法

目的 对用户进行身份认证和信息交换 RFC 7519 传统方式 通过session保存对话信息,服务端返回一个session id,用户保存这个id在cookie内,然后每次请求都传给服务端 局限性 对于服务器集群难以向每个服务器共享同一session jwt的方式是…

【vue】vue.config.js里面获取本机ip:

文章目录 一、效果:二、实现: 一、效果: 二、实现: const os require(os);function getLocalIpAddress() {const interfaces os.networkInterfaces();for (let key in interfaces) {const iface interfaces[key];for (let i …

第九节HarmonyOS 常用基础组件16-Blank

1、描述 空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column/Flex时生效。 2、接口 Blank(min?: number | string) 3、参数 参数名 参数类型 必填 描述 min number|string 否 空白填充组件…

数据分析入门指南:用 Python 开启数据之旅

文章目录 前言发现宝藏为什么选择 Python 进行数据分析?准备工作数据分析基础1. 数据加载2. 数据探索3. 数据清洗4. 数据可视化 探索更多可能性好书推荐总结 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。…

成都直播产业园核心优势全面解读,入驻天府锋巢直播产业基地都有哪些好处?

一文讲清!成都直播产业园核心优势全面解读 企业入驻天府锋巢直播产业基地能获得哪些好处? 锋巢资讯~又来了~~~ 今天,将为您全面解读成都产业园重点特色产业服务(上) 什…

Android 13以上版本读写SD卡权限适配

如题&#xff0c;最近工作上处理的问题&#xff0c;把解决方案简单逻列出来&#xff0c;供有需要的朋友参考之 解决方案&#xff1a; 1、配置权限 <uses-permission android:name"android.permission.READ_MEDIA_IMAGES" /><uses-permission android:name&q…

(自用)learnOpenGL学习总结-高级OpenGL-立方体贴图

ok终于来到了立方体贴图了&#xff0c;在这里面我们可以加入好看的天空包围盒&#xff0c;这样的画我们的背景就不再是黑色的了&#xff01; 首先&#xff0c;立方体贴图和前面的sampler2D贴图一样&#xff0c;不过是6个2D组成的立方体而已。 那么为什么要把6个组合在一起呢&…

树莓派部署Nginx服务结合内网穿透实现远程访问本地站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx&#xff08;发音为“engine-x”&#xff09;可以将您的树莓派变成一个强大的 Web 服务器&#xff0c;可以用于托管网站或 Web 应用程序。相比其他 Web 服务器&#xff0c;Ngi…

怎样用流程自定义表单提升办公效率?

如果想要提升办公协作效率&#xff0c;可以试试低代码技术平台及流程自定义表单工具。不可否认的是&#xff0c;随着社会的进步和发展&#xff0c;传统的表单制作工具已经没有办法再满足业务量不断上涨的办公需求了&#xff0c;但是&#xff0c;借助专业的流程自定义表单工具就…

AES 加解密python实现

1. 要求 编程实现AES-128的加解密算法&#xff0c;满足给定明文和密钥加密得到密文&#xff0c;给定密文和密钥解密得到明文&#xff0c;最终用界面化的形式呈现。 2. 算法流程 程序主要分为加密与解密两个大模块。在加密模块中包括四个小模块&#xff0c;分别为轮密钥加、字…

Android 系统启动流程

依旧是带着问题再去学习 首先&#xff0c;Android是怎么启动的&#xff1f; Android服务是怎么启动的&#xff1f; Android线程是怎么切换的&#xff1f; Android ApplicationThread是怎么创建的&#xff1f; 那么接下来开始分析Android的启动流程 还是一步一图 先画一张流…

vp9协议梳理-header头文件

vp9协议梳理-header头文件 本文是对vp9视频码流中header中包含的语法元素的一个分类整理&#xff0c;及其对具体的解码过程的影响的分析。 这里写目录标题 vp9协议梳理-header头文件1. Vp9码流中的header头文件2. profile3. show_existing_frame, frame_to_show_map_idx4. fr…

What is Rust? Why Rust?

why Rust&#xff1f; 目前&#xff0c;Rust 变得越来越流行。然而&#xff0c;仍然有很多人&#xff08;和公司&#xff01;&#xff09;误解了 Rust 的主张价值是什么&#xff0c;甚至误解了它是什么。在本文中&#xff0c;我们将讨论 Rust 是什么以及为什么它是一种可以增强…

vivado 配置内存IP

配置内存IP UltraScale体系结构内存IP支持DDR3和DDR4 SDRAM的配置&#xff0c;QDRIIPLUS SRAM和RLDRAM3型接口。截至2015.3&#xff0c;内存IP已被拆分基于内存接口标准和工具流&#xff0c;将其划分为不同的IP。“自定义IP”对话框框包含基本和高级配置选项&#xff0c;其中包…

【C/C++ 05】快速排序

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序算法&#xff0c;其基本思想是&#xff1a;任取待排序序列中的某元素作为基准值&#xff0c;按照该基准值将待排序集合分割成两个子序列&#xff0c;左子序列中所有元素均小于基准值&#xff0c;右子序列中所有元素均大于…

数据在网络传输中为什么要加密?

在信息化浪潮席卷全球的今天&#xff0c;数据如同流淌在信息高速公路的生命血液&#xff0c;其安全传输的重要性不言而喻。随着网络空间中各种威胁与挑战日益凸显&#xff0c;加密技术已成为保护数据安全、维护用户隐私、确保业务连续性的关键手段。它就如同一道无形的防护盾&a…