Linux - MongoDB部署

2023-05-16

MongoDB部署

  • 准备
  • 部署
    • mongoDB部署
  • 启动优化
    • 角色
  • 参考

准备

MongoDB下载

官方下载
选择自己需要的版本,以及服务器版本,以及安装方式,本篇文章我们安装6.0MongoDB使用CentOS8.0,使用tgz安装

在这里插入图片描述
MongoDB Shell下载

官方下载
MongoDB6.0已经不自带shell了,需要单独安装,不在Linux中进入MongoDB可以不安装,下载时注意选择平台,安装类型很多,这个版本不带OpenSSL,有需要的自己选择

在这里插入图片描述

将下载的两个tgz包上传至服务器中
上传位置 /usr/local/weekeight/mongoDB

部署

mongoDB部署

mkdir /usr/local/mongoDB   # 创建文件夹,将下载的tgz上传到这里
cd /usr/local/mongoDB   # 进入到这个文件夹下
mkdir /usr/local/mongoDB/log    # 创建存放日志的目录
mkdir /usr/local/mongoDB/data    # 创建存放数据的目录
tar -zxvf mongodb-linux-x86_64-rhel80-6.0.1.tgz   # 解压
tar -zxvf mongosh-1.5.4-linux-x64.tgz             # 解压
mv mongodb-linux-x86_64-rhel80-6.0.1 mongoDBServer   # 修改一下文件名
mv mongosh-1.5.4-linux-x64 mongoDBShell              # 修改一下文件名
cd /usr/local/mongoDB/mongoDBServer/bin    # 进入文件夹准备添加配置文件
vim mongodb.conf    # 创建配置文件

vim配置

# 数据库路径
dbpath=/usr/local/mongoDB/data
# 日志输出文件路径
logpath=/usr/local/mongoDB/log/mongodb.log
# 错误日志采用追加模式
logappend=true
# 启用日志文件,默认启用
journal=true
# 这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
# 端口号 默认为27017
port=27017

#只允许本地ip:127.0.0.1连接到该数据库服务
#bind_ip=127.0.0.1
#允许远程访问
bind_ip=0.0.0.0

#开启子进程(作用:让MongoDB服务在linux后台运行)
fork=true

#开启认证,必选先添加用户,先不开启(不用验证账号密码)
# auth=true
vim /etc/profile     # 修改一下环境变量,将下面的地址追加到文档最后,mongodb_home可以不加,后面我们做启动优化
export MONGODB_HOME=/usr/local/mongoDB/mongoDBServer
export MONGODB_SHELL=/usr/local/mongoDB/mongoDBShell
export PATH=$PATH:$MONGODB_HOME/bin:$MONGODB_SHELL/bin
source /etc/profile     # 刷新一下环境变量

启动优化

vim /usr/lib/systemd/system/mongodb.service    # 配置mongodb服务
ln -s /usr/lib/systemd/system/mongodb.service /etc/systemd/system/mongodb.service   # 创建软连接

mongodb.service配置

[Unit]
Description=mongodb-server
After=network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
ExecStart=/usr/local/mongoDB/mongoDBServer/bin/mongod --config /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongoDB/mongoDBServer/bin/mongod --shutdown --config /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf
PrivateTmp=true  
Restart=always
RestartSec=1 

[Install]  
WantedBy=multi-user.target
systemctl daemon-reload  # 加载一下刚刚的配置文件
systemctl start mongodb.service   # 启动MongoDB
systemctl status mongodb.service   # 检查是否启动成功
mongosh     # MongoDB Shell不用配置,只用加一下环境变量即可,解压就可以使用,默认进入的时test库,接下设置密码

进入mongodb的命令行

先转到admin库中

use admin

设置账户密码,然后就是角色

db.createUser({user:"root",pwd:"Kr8PbuNeY",roles:[{role:"root",db:"admin"}]})

退出来

quit

角色

数据库用户角色
	read: 只读数据权限
	readWrite:读写数据权限
数据库管理角色
	dbAdmin: 在当前db中执行管理操作的权限
	dbOwner: 在当前db中执行任意操作
	userADmin: 在当前db中管理user的权限
备份和还原角色
	backup: 备份
	restore: 还原
夸库角色
	readAnyDatabase: 在所有数据库上都有读取数据的权限
	readWriteAnyDatabase: 在所有数据库上都有读写数据的权限
	userAdminAnyDatabase: 在所有数据库上都有管理user的权限
	dbAdminAnyDatabase: 管理所有数据库的权限
集群管理
	clusterAdmin: 管理机器的最高权限
	clusterManager: 管理和监控集群的权限
	clusterMonitor: 监控集群的权限
	hostManager: 管理Server
超级权限
	root: 超级用户

Linux命令行

systemctl stop mongodb.servic         # 关闭MongoDB
vim /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf      # 进入到配置文件中将auth=true的注释解开
systemctl start mongodb.service       # 启动MongoDB
mongosh -u root -p Kr8PbuNeY          # 再进入到MongoDB的时候就要加上了,不然的话可以进去但是命令都不能用

然后就是开放端口了27017将端口开放,如果是云服务的话记得再控制台打开
使用MongoDB Compass在其他地方远程连接,端口默认的不用写,不是默认的在IP后面拼上**:端口**,然后连接即可

在这里插入图片描述
在这里插入图片描述

参考

配置参考

本专栏为微服务记录专栏,如有问题还望指出,共同学习!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux - MongoDB部署 的相关文章

  • 任何退出 bash 脚本但不退出终端的方法

    当我使用exitshell 脚本中的命令 该脚本将终止终端 提示符 有什么方法可以终止脚本然后停留在终端中吗 我的剧本run sh预计通过直接获取或从另一个脚本获取来执行 编辑 更具体地说 有两个脚本run2 sh as run sh ec
  • Mongoose 模型 update() 与 save()

    有一个关于问题update vs save https stackoverflow com questions 39010045 mongoose update vs save 但它针对的是一些不同的东西 我猜 纯粹相关mongoose S
  • 如何从 Bash 命令行在后台 Vim 打开另一个文件?

    我正在从使用 Gvim 过渡到使用控制台 Vim 我在 Vim 中打开一个文件 然后暂停 Vim 在命令行上运行一些命令 然后想返回到 Vim Ctrl Z 在正常模式下 暂停 Vim 并返回到控制台 fg可用于将焦点返回到 Vim job
  • 为什么 OS X 和 Linux 之间的 UTF-8 文本排序顺序不同?

    我有一个包含 UTF 8 编码文本行的文本文件 mac os x cat unsorted txt foo foo 津 如果它有助于重现问题 这里是文件中确切字节的校验和和转储 以及如何自己生成文件 在 Linux 上 使用base64 d
  • 链接错误:命令行中缺少 DSO

    我对 Linux 使用 Ubuntu 14 04 LTS 64 位 相当陌生 来自 Windows 并且正在尝试移植我现有的 CUDA 项目 当通过链接时 usr local cuda bin nvcc arch compute 30 co
  • 如何在 Linux 和 C 中使用文件作为互斥体?

    我有不同的进程同时访问 Linux 中的命名管道 并且我想让此访问互斥 我知道可以使用放置在共享内存区域中的互斥体来实现这一点 但作为一种家庭作业 我有一些限制 于是 我想到的是对文件使用锁定原语来实现互斥 我做了一些尝试 但无法使其发挥作
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • MongoDB自增ID

    MongodB 中自动生成的 ID 的大小为12 Bytes大整数的大小是8 bytes 我在 4 台运行 Ubuntu Server 的机器上有一个 mongodb 集群 但我现在只是在测试 插入只能通过一台服务器 即 Nodejs 服务
  • PHP 中的 MongoDB - 如何将项目插入集合中的数组中?

    这必须很容易 但我似乎无法弄清楚 假设我有一个集合users这是集合中的第一项 id ObjectId 4d8653c027d02a6437bc89ca name Oscar Godson email email protected cdn
  • 为 Meteor 数据创建编号列表

    有没有办法获取 Meteor 集合中项目的编号列表的 编号 我知道我可以在 html 中做到这一点 但我觉得如果我可以在 spacebars 中放置一些东西 那么样式会更容易 如果我可以使用更好的术语 请告诉我 像这样的东西 前 20 部电
  • Mongodb - 为现有集合添加架构

    我的 MongoDB 中有一个包含 1300 万条记录的集合 不幸的是 当我创建这个集合时 没有为其创建模式 我想知道除了备份整个数据库 创建架构并上传所有数据之外 是否有任何方法可以添加 JSON 架构 您可以使用以下方法将 JSON 架
  • 使用 Tweepy 获取推文时出错

    我有一个用于获取推文的 Python 脚本 在脚本中我使用该库 Tweepy 我使用有效的身份验证参数 运行此脚本后 一些推文存储在我的 MongoDB 中 有些则被 if 语句拒绝 但我仍然收到错误 requests packages u
  • Node.js 检测两个猫鼬查找何时完成

    我正在尝试使用自动完成功能初始化两个输入library https www devbridge com sourcery components jquery autocomplete 当我加载页面时 我将触发 Ajax 来初始化两个输入文本
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win

随机推荐

  • 树莓派控制无人机实现定点降落(一)——树莓派4安装ROS(Kinetic)

    目录 树莓派控制无人机实现定点降落 xff08 一 xff09 树莓派4安装ROS xff08 Kinetic xff09 1 安装ROS仓库2 安装Bootstrap依赖3 rosdep初始化4 安装ros5 解决依赖6 构建 xff08
  • 树莓派控制无人机实现定点降落(三)——PX4固件源码编译中的坑

    目录 树莓派控制无人机实现定点降落 xff08 三 xff09 PX4固件源码编译中的坑1 建立工作空间 xff0c 克隆固件源码2 arm none eabi gcc安装3 错误解决4 成功编译 树莓派控制无人机实现定点降落 xff08
  • 树莓派控制无人机实现定点降落(四)——gazebo无人机定点降落仿真环境搭建

    目录 树莓派控制无人机实现定点降落 xff08 四 xff09 gazebo无人机定点降落仿真环境搭建1 编译px4 sitl default2 编译gazebo3 仿真3 尝试offboard node4 无人机添加单目相机 树莓派控制无
  • 树莓派控制无人机实现定点降落(六)——地标识别及控制算法的实现

    目录 树莓派控制无人机实现定点降落 xff08 六 xff09 地标识别及控制算法的实现1 地标识别2 控制算法3 剩余工作 树莓派控制无人机实现定点降落 xff08 六 xff09 地标识别及控制算法的实现 地标识别方法同样参照了我上篇博
  • PIX飞控电流计设置

    在 测量电池电压 一栏输入用电压表测得的电池电压 xff0c 保存
  • Airsim_API

    AirSim API 参考自知乎大佬https www zhihu com column multiUAV 讲的非常好 xff01 无人机姿态角 pitch是俯仰角 xff0c 是 点头 yaw是偏航角 xff0c 是 摇头 roll是旋转
  • Apollo自动驾驶入门课程第①讲—无人驾驶概览

    目录 1 全面了解自动驾驶主要模块 2 了解无人车的运作方式 3 开放式软件栈 4 本节其他重点 本文转自微信公众号 xff1a Apollo开发者社区 原创 xff1a 阿波君 Apollo开发者社区 8月1日 在Apollo 3 0发布
  • mavsdk_api

    MAVSDK中offboard一些API Value 其中是offboard需要用到的一些参数定义 offboard PositionNedYaw class mavsdk offboard PositionNedYaw north m e
  • strstr()函数的使用说明(C语言)

    头文件 lt string h gt 函数作用 xff1a 1 strstr 函数搜索一个字符串在另一个字符串中的第一次出现 2 找到所搜索的字符串 xff0c 则该函数返回第一次匹配的字符串的地址 xff1b 3 如果未找到所搜索的字符串
  • Linux硬件信息查看命令

    查看磁盘 df 查看CPU信息 cat proc cpuinfo 查看显卡 lspci grep VGA 查看OS采用核心号 lsb release cs Linux查看当前操作系统版本信息 cat proc version Linux查看
  • DockerFile的使用

    DockerFile的使用 一 DockerFile构建过程解析1 1 Dockerfile内容基础知识1 2 Docker执行Dockerfile的大致流程 二 DockerFile常用保留字指令三 DockerFile案例3 1 先准备
  • myeclipse2019 4.0配置tomcat9的两个问题

    myeclipse2019 4 0配置tomcat9的两个问题 问题一 xff1a myeclipse配置tomcat端口无效 图中提示Tomcat的一个或多个端口无效 xff08 并非占用 xff0c 端口占用看问题二 xff09 出现这
  • MySQL-约束(三)

    MySQL 约束 约束的定义常见的约束类型表级约束与列级约束例子非空约束 NOT NULL 唯一约束 UNIQUE 联合唯一约束 默认约束 DEFAULT 主键约束 PRIMARY KEY 复合主键约束复合主键与联合主键 外键约束 FORE
  • 双系统之kali

    双系统之kali 所用工具制作kali的引导盘硬盘分区安装kali设置启动引导设置root密码U盘恢复 下面文章多为图片形式 xff0c 每个图片中包含详细的步骤 所用工具 16G的U盘一个 xff0c 电脑一台 所有的软件均已上传至百度网
  • 连接GitHub提示远程主机关闭连接

    连接GitHub提示远程主机关闭连接 发现问题排查问题反思 错误代码 xff1a kex exchange identification Connection closed by remote host 发现问题 今天晚上使用git连接了G
  • Linux - Nginx安装

    Linux Nginx安装 下载 amp 配置启动优化nginx添加新模块 本文由于是学习 xff0c 所以使用tar包安装 xff0c Linux版本CentOS7 xff0c nginx 1 20 2 xff0c 本次安装路径为 usr
  • 异常记录-3

    异常记录 3 异常类名描述问题原因解决方案异常重现 异常类名 org springframework beans BeanInstantiationException 描述 Failed to instantiate javax servl
  • 异常记录-22

    异常记录 22 异常描述问题原因解决方案异常重现 异常 ssl SSLEOFError EOF occurred in violation of protocol ssl c 997 描述 urllib3 exceptions MaxRet
  • Linux - RabbitMQ部署

    Linux RabbitMQ部署 准备部署账户创建使用 准备 span class token function cat span etc redhat release 查看自己的服务器什么版本的 xff0c 本人使用的CentOS8 安装
  • Linux - MongoDB部署

    MongoDB部署 准备部署mongoDB部署 启动优化角色 参考 准备 MongoDB下载 官方下载 选择自己需要的版本 xff0c 以及服务器版本 xff0c 以及安装方式 xff0c 本篇文章我们安装6 0MongoDB使用CentO