麒麟系统—— 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.rhkb.cn/news/247345.html

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

相关文章

机器学习:梯度下降法(Python)

LinearRegression_GD.py import numpy as np import matplotlib.pyplot as pltclass LinearRegression_GradDesc:"""线性回归,梯度下降法求解模型系数1、数据的预处理:是否训练偏置项fit_intercept(默认True)&…

【面试】测试开发面试题

帝王之气,定是你和万里江山,我都护得周全 文章目录 前言1. 网络原理get与post的区别TCP/IP各层是如何传输数据的IP头部包含哪些内容TCP头部为什么有浮动网络层协议1. 路由协议2. 路由信息3. OSPF与RIP的区别Cookie与Session,Token的区别http与…

解决Linux部署报错No main manifest attribute, in XXX.jar

这是我近期遇到的一个问题,报错原因就是没找到主类,首先你在你本地运行,本地运行ok的话,解压生成的jar包,里面有个META-INF文件,打开MANIFEST.MF文件,该文件是一个清单文件。该文件包含有关JAR文…

11. 双目视觉之立体视觉基础

目录 1. 深度恢复1.1 单目相机缺少深度信息1.2 如何恢复场景深度?1.3 深度恢复的思路 2. 对极几何约束2.1 直观感受2.2 数学上的描述 1. 深度恢复 1.1 单目相机缺少深度信息 之前学习过相机模型,最经典的就是小孔成像模型。我们知道相机通过小孔成像模…

汽车网络安全dos, someip

汽车Cyber Security入门之DoS 攻防 - 知乎 3、SOME/IP-TP 近年来火热地谈论下一代EE架构和SOA的时候,总离不开SOME/IP这个进程间通讯协议。在许多应用场景中,需要通过UDP传输大型的SOME/IP有效载荷。鉴于在以太网上传输数据包的大小限制,SO…

Linux文件管理(下)

上上篇介绍了Linux文件管理的上部分内容,这次继续将 Linux文件管理的剩余部分说完。内容如下。 一、查看文件内容 1、cat 命令 1.1 输出文件内容 基本语法: cat 文件名称主要功能:正序输出文件的内容。 eg:输出 readme.txt文…

剧本杀小程序的诞生:重塑线下娱乐的数字化未来

随着科技的不断发展,人们对于娱乐方式的需求也在不断升级。近年来,剧本杀作为一种新型的线下社交娱乐方式,以其独特的魅力和深度的人际互动性,受到了广大年轻人的喜爱。然而,传统的剧本杀模式存在一些问题,…

中间件安全

中间件安全 vulhub漏洞复现:https://vulhub.org/操作教程:https://www.freebuf.com/sectool/226207.html 一、Apache Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和…

录屏软件哪个好?为您提供最佳选择(最新)

随着科技的进步,录屏软件已成为我们日常生活和工作中不可或缺的工具。无论是为了制作教程、会议记录还是游戏录像,一款优秀的录屏软件都是必不可少的。可是录屏软件哪个好呢?在本文中,我们将介绍两款常用的录屏软件,并…

uniapp 实现路由拦截,权限或者登录控制

背景: 项目需要判断token,即是否登录,登录之后权限 参考uni-app官方: 为了兼容其他端的跳转权限控制,uni-app并没有用vue router路由,而是内部实现一个类似此功能的钩子:拦截器,由…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、CheckboxGroup组件 提供多选框组件,通常用于某选项的打开或关…

Apollo Cyber RT:引领实时操作系统在自动驾驶领域的创新

🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…

【服务器】宝塔面板的使用手册

目录 🌷概述 🌼1. 绑定域名 🌼2. 添加端口 🌼3. 安装docker配置docker​​​​​​​ 🌼4. 软件商店 🌼5. 首页 🌷概述 宝塔面板的安装教程:【服务器】安装宝塔面板 &#x1f…

绘制太极图 - 使用 PyQt

大家好!今天我们将一起来探讨一下如何使用PyQt,这是一个强大的Python库,来绘制一个传统的太极图。这个图案代表着古老的阴阳哲学,而我们的代码将以大白话的方式向你揭示它的奥秘。 PyQt:是什么鬼? 首先&a…

Modelarts零代码体验,一键实现工地钢筋盘点,建筑提效新思维

前言 最近家附近的好几块地,同时在进行房产开发建设,早晚都能看到建筑师傅们在忙碌。 某天,夜跑中,发现前方的建筑工地,师傅们忙活的热火朝天,塔吊也在吊运钢筋中。 准备绕路的时候,旁边负责…

解锁创意无限:Adobe Photoshop 2023(PS2023)引领设计革命

Adobe Photoshop 2023 (PS2023),作为图像处理软件的翘楚,以其卓越的性能和无限的可能性,继续引领着数字创意设计的潮流。对于设计师、摄影师、艺术家以及那些对视觉效果有高要求的人们来说,PS2023无疑是他们的必备工具。 在PS202…

web前端项目-实现录音功能【附源码】

录音功能 运行效果&#xff1a;本项目可实现录音软件的录音、存储、播放等功能 HTML源码&#xff1a; &#xff08;1&#xff09;index.html&#xff1a; <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/h…

算法基础课-数据结构

单链表 题目链接&#xff1a;826. 单链表 - AcWing题库 思路&#xff1a;AcWing 826. 单链表---图解 - AcWing 需要注意的点在于理解ne[idx] head&#xff0c;idx表示当前的点&#xff0c;意思是将当前的点链到头结点的后面&#xff0c;再将头结点链在当前idx的前面。 #inc…

Qt|大小端数据转换

后面打算写Qt关于网络编程的博客&#xff0c;网络编程就绕不开字节流数据传输&#xff0c;字节流数据的传输一般是根据协议来定义对应的报文该如何组包&#xff0c;那这就必然牵扯到了大端字节序和小端字节序的问题了。不清楚的大小端的可以看一下相关资料&#xff1a;大小端模…

看图说话:Git图谱解读

很多新加入公司的同学在使用Git各类客户端管理代码的过程中对于Git图谱解读不太理解&#xff0c;我们常用的Git客户端是SourceTree&#xff0c;配合P4Merge进行冲突解决基本可以满足日常工作大部分需要。不同的Git客户端工具对图谱展示会有些许差异&#xff0c;以下是SourceTre…