MongoDB:Linux环境全套安装指南

目录
- 前言
- 1、下载MongoDB
- 2、创建数据文件
- 3、创建配置
- 4、启动服务
- 5、服务关闭
- 6、创建用户
- 7、配置开机自启
- 8、roles列表
前言
在安装MonggoDB前,需要知道与SpringBoot整合时的最佳匹配版本,根据SpringBoot版本下载对应的MonggoDB版本。
参考:《SpringBoot与MongoDB版本对照参考》
1、下载MongoDB
下载地址:https://www.mongodb.com/try/download/community

2、创建数据文件
将下载的mongodb-linux-x86_64-rhel70-4.4.12.tgz拷贝到服务器的/opt目录下,或者直接使用wget命令下载;
解压文件:
# 解压
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.12.tgz
# 修改名称
mv mongodb-linux-x86_64-rhel70-4.4.12 mongodb
创建工作目录:
#数据存储目录
mkdir -p /opt/mongodb/single/data
#日志存储目录
mkdir -p /opt/mongodb/single/log
3、创建配置
创建配置文件:
vim /opt/mongodb/single/mongod.conf
配置内容:
systemLog:#MongoDB发送所有日志输出的目标指定为文件destination: file #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径 path: "/opt/mongodb/single/log/mongodb.log"#当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。logAppend: true
storage:#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。 dbPath: "/opt/mongodb/single/data"journal:#启用或禁用持久性日志以确保数据文件保持有效和可恢复。enabled: true
processManagement:#启用在后台运行mongos或mongod进程的守护进程模式。fork: true
net:#服务实例绑定的IP,默认是localhost,多个ip逗号分割bindIp: 0.0.0.0#绑定的端口,默认是27017port: 27017
security:#用户验证authorization: enabled
4、启动服务
# 进入bin
cd /opt/mongodb/bin/
# 启动
./mongod --config ../single/mongod.conf

5、服务关闭
# 进入bin
cd /opt/mongodb/bin/
# 关闭
./mongod --shutdown --config ../single/mongod.conf
6、创建用户
# 进入bin
cd /opt/mongodb/bin
# 使用命令
./mongo
# 使用管理员
use admin#创建管理员用户
db.createUser({user:"root",pwd:"123456",roles:["root","readWrite"]});#创建普通用户-读写权限,readWrite:读写,read:只读,库管理员:userAdminAnyDatabase
db.createUser({user:"test",pwd:"123456",roles:["readWrite"]})#查看用户
show users#验证用户密码,返回1,则表示成功
db.auth("root","lhzlx")#修改用户密码
db.updateUser("root",{pwd:"new_pwd"})#删除用户
db.dropUser("root")#为非admin数据库,设置用户,role为对应角色,db为所属数据库
db.createUser({user: "test", pwd: "123456", roles: [{ role: "readWrite", db: "test" }]})#重新启动mongo实例
./mongod --shutdown --config ../single/mongod.conf
./mongod --config ../single/mongod.conf
7、配置开机自启
# 追加中local配置
vim /etc/rc.d/rc.local# 加入配置
/opt/mongodb/bin/ --config /opt/mongodb/single/mongod.conf# 修改权限
chmod +x /etc/rc.d/rc.local
8、roles列表
roles 如下:
数据库用户角色(Database User Roles)
- read : 授权User只读数据的权限,允许用户读取指定的数据库
- readWrite 授权User读/写数据的权限,允许用户读/写指定的数据库
数据库管理角色(Database Admininstration Roles)
- dbAdmin:在当前的数据库中执行管理操作,如索引的创建、删除、统计、查看等
- dbOwner:在当前的数据库中执行任意操作,增、删、改、查等
- userAdmin :在当前的数据库中管理User**,**创建、删除和管理用户。
备份和还原角色(Backup and Restoration Roles)
- backup
- restore
跨库角色(All-Database Roles)
- readAnyDatabase:授权在所有的数据库上读取数据的权限,只在admin 中可用
- readWriteAnyDatabase:授权在所有的数据库上读写数据的权限,只在admin 中可用
- userAdminAnyDatabase:授权在所有的数据库上管理User的权限,只在admin中可用
- dbAdminAnyDatabase: 授权管理所有数据库的权限,只在admin 中可用
集群管理角色(Cluster Administration Roles)
- clusterAdmin:授权管理集群的最高权限,只在admin中可用
- clusterManager:授权管理和监控集群的权限
- clusterMonoitor:授权监控集群的权限,对监控工具具有readonly的权限
- hostManager:管理server
超级角色(super master Roles)
- root :超级账户和权限,只在admin中可用

相关文章:
MongoDB:Linux环境全套安装指南
😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: MongoDB:Linux环境全套安装指南 ⏱️ 创作时间:…...
PostgreSql 启停
一、启动 直接运行 postgres 进程启动。使用 pg_ctl 命令启动。(pg_ctl 命令实际也是封装的 postgres 进程) 示例: pg_ctl -D /data/pg13/data start 或 postgres -D /data/pg13/data &二、停止 使用 pg_ctl 命令停止,优先…...
中介者模式(C++)
定义 用一个中介对象来封装(封装变化)一系列的对象交互。中介者使各对象不需要显式的相互引用(编译时依赖->运行时依赖),从而使其耦合松散(管理变化),而且可以独立地改变它们之间的交互。 应用场景 在软件构建过程中,经常会出现多个对象…...
LeetCode热题 100整理
53. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,4] 输…...
SDE与ODE
看这篇文章不错https://spaces.ac.cn/archives/9209 然后在结合https://www.bilibili.com/video/BV1814y1n7Eh/?spm_id_from333.788&vd_sourceeb433c8780bdd700f49c6fc8e3bd0911这个B站的视频...
AWK实战案例——筛选给定时间范围内的日志
时间戳与当地时间 概念: 1.时间戳: 时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。它也被称为Unix时间戳(Unix Timestamp)。通俗的讲,时间戳是一份能够表示一份数据…...
摄影入门基础笔记
1.认识相机,传感器和镜头 微单相机和单反相机 运动相机、卡片机 微单和单反的区别? 微单的光学结构少了反光板的结构以及棱镜的结构 DSLR [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PCSYr2Ob-1691407493645)(https:/…...
如何在业务中体现TCC事务模型?
在分布式系统设计中,随着微服务的流行,通常一个业务操作被拆分为多个子任务,比如电商系统的下单和支付操作,就涉及到了创建和更新订单、扣减账户余额、扣减库存、发送物流消息等,那么在复杂业务开发中,如何…...
TouchGFX字库外置的另一种处理方式
最近有个带UI的项目,采用STM32F429做主控方案,对比touchgfx、lvgl和emwin,发现TouchGFX性能最好,并且界面设计工具也很好用,于是选择此图形引擎。 最开始是熟悉UI设计工具,需要一个表格控件,无…...
jvm的垃圾回收算法有哪些
jvm的垃圾回收算法有标记-清除、复制、标记-整理、分代回收算法,它们分别有不同的实现: 一、标记-清除算法 利用可达性分析算法分析之后,将未被标记的对象[即不可达对象]清除,以便回收它们所占用的内存。 缺点: 1、需…...
untiy 连接两个UI或一段固定一段跟随鼠标移动的线段
注意,仅适用于UI,且Canvas必须是Camera模式,不能用在3D物体上,3D物体请使用LineRenender 先创建一个图片,将锚点固定在左边 然后在脚本中添加如下内容 public RectTransform startObj;//起点物体public RectTransfor…...
如何成为顶级开源项目的贡献者
概述 对于程序员来讲,成为顶级开源项目的贡献者是一件有意义的事,当然,这也绝非易事。如果你正从事人工智能有关的工作,那么你一定了解诸如Google Tensorflow,Facebook Pytorch这样的开源项目。下面我们就说一说如何成…...
Threads and QObjects
QThread inherits QObject. It emits signals to indicate that the thread started or finished executing, and provides a few slots as well. QThread 派生于 QObject。QThread 会发射信号通知线程启动或终止执行任务,并且也会提供槽函数使用。 More interest…...
Tcp是怎样进行可靠准确的传输数据包的?
概述 很多时候,我们都在说Tcp协议,Tcp协议解决了什么问题,在实际工作中有什么具体的意义,想到了这些我想你的技术会更有所提升,Tcp协议是程序员编程中的最重要的一块基石,Tcp是怎样进行可靠准确的传输数据…...
[SWPUCTF 2022 新生赛]numgame
这道题有点东西网页一段计算框,只有加和减数字,但是永远到大不了20,页面也没啥特别的,准备看源码,但是打不开,我以为是环境坏掉了,看wp别人也这样,只不过大佬的开发者工具可以打开&a…...
java异常机制分析
java异常机制分析 本文实例分析了java的异常机制,分享给大家供大家参考。相信有助于大家提高大家Java程序异常处理能力。具体分析如下: 众所周知,java中的异常(Exception)机制很重要,程序难免会出错,异常机制可以捕获…...
浅谈Python中的内存管理 程序的内存布局
Python中的内存管理 Python 的内存管理是通过私有堆空间来实现的。这个私有堆内存中存储了所有 Python 对象和数据结构。Python 的解释器自身则拥有对堆空间的访问权,程序员不能直接访问这个私有堆,但可以通过解释器的 API 来进行某些操作。 以下是 Py…...
(具体解决方案)训练GAN深度学习的时候出现生成器loss一直上升但判别器loss趋于0
今天小陶在训练CGAN的时候出现了绷不住的情况,那就是G_loss(生成器的loss值)一路狂飙,一直上升到了6才逐渐平稳。而D_loss(判别器的loss值)却越来越小,具体的情况就看下面的图片吧。其实这在GAN…...
Redis 安装以及配置隧道连接
目录 1.CentOS 1. 安装Redis 2. Redis 启动和停⽌ 3. 操作Redis 2.Ubuntu 1. 安装Redis 2. Redis 启动/停⽌ 3. 操作 Redis 3.开启隧道 3.1 Xshell 配置隧道 3.2 windTerm 配置隧道 3.3 FinalShell配置隧道 4.可视化客户端连接 Another Redis Desktop Manager 1.Cen…...
FFmpeg 使用总结
FFmpeg 简介 FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。包括如下几个部分…...
Awoo Installer:破解Switch游戏安装限制的高性能解决方案
Awoo Installer:破解Switch游戏安装限制的高性能解决方案 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Installer Awoo Installer是一款专为破解…...
Realistic Vision V5.1 Streamlit界面源码解析:如何扩展自定义摄影滤镜
Realistic Vision V5.1 Streamlit界面源码解析:如何扩展自定义摄影滤镜 1. 项目背景与技术特点 Realistic Vision V5.1是目前SD 1.5生态中最顶级的写实风格模型之一,能够生成媲美专业单反相机拍摄的人像作品。本项目通过Streamlit框架构建了直观的交互…...
RabbitMQ 3.13.0实战:5分钟搞定MQTT 5.0协议配置与特性测试(附Docker命令)
RabbitMQ 3.13.0实战:5分钟搞定MQTT 5.0协议配置与特性测试(附Docker命令) 物联网开发者们,好消息!RabbitMQ 3.13.0正式支持MQTT 5.0协议了。作为消息中间件的标杆产品,这次更新让RabbitMQ在物联网领域的竞…...
保姆级教程:用Kalibr搞定Realsense D455相机+IMU联合标定(含常见报错解决)
深度视觉传感器多模态标定实战指南:从Realsense D455到SLAM算法优化 在机器人感知与自主导航领域,视觉-惯性系统的精确标定是构建可靠SLAM/VIO算法的基石。本文将以Intel Realsense D455这款集成RGB-D相机与IMU的旗舰设备为例,系统讲解从单目…...
AI专著生成新玩法!掌握这些工具,快速产出高质量专业专著
学术专著写作挑战与 AI 辅助工具介绍 学术专著的根本价值在于其内容的系统性与内部逻辑的完整性,但这往往是写作中的一个重大挑战。相较于期刊论文专注于某个特定问题,学术专著必须构建一个包括绪论、理论框架、核心研究、应用拓展,以及结论…...
QGIS中高效集成天地图:从注册到加载的完整指南
1. 天地图与QGIS的完美结合 第一次接触天地图是在一个城市规划项目里,当时需要高精度的底图作为参考。天地图作为国内权威的地理信息服务,不仅数据更新及时,而且完全免费,这对我们这些搞GIS开发的人来说简直是福音。不过刚开始用的…...
Qwen3-14B WebUI定制教程:更换主题、添加历史记录、导出对话功能
Qwen3-14B WebUI定制教程:更换主题、添加历史记录、导出对话功能 1. 准备工作与环境检查 在开始定制Qwen3-14B的WebUI之前,我们需要确保环境已经正确配置并运行。以下是准备工作步骤: 1.1 确认镜像版本与硬件配置 首先检查您的环境是否符…...
Qwen3.5-2B边缘部署案例:车载终端实时识别路标+语音播报导航提示
Qwen3.5-2B边缘部署案例:车载终端实时识别路标语音播报导航提示 1. 项目背景与需求 在智能驾驶和车载辅助系统领域,实时路标识别与语音导航是提升驾驶安全性的关键技术。传统方案通常需要: 独立的视觉识别模块处理路标额外的语音合成引擎生…...
OpenClaw自动化测试:Qwen3.5-9B-AWQ-4bit驱动UI截图比对
OpenClaw自动化测试:Qwen3.5-9B-AWQ-4bit驱动UI截图比对 1. 为什么需要自动化UI测试 作为个人开发者,每次前端代码修改后最头疼的就是手动检查各个页面的UI变化。传统做法要么是人工逐页比对,要么依赖复杂的测试框架配置。直到我发现OpenCl…...
你还在用for循环清洗CSV?Polars 2.0的scan_csv()+expression DSL已支持自动列式推断与零拷贝转换——立即升级避免被淘汰
第一章:Polars 2.0大规模数据清洗的核心范式变革Polars 2.0 不再将数据清洗视为一系列离散的、命令式的转换操作,而是以“惰性执行图列式语义优先”为基石,重构整个清洗生命周期。其核心变革体现在计算模型、内存管理与API设计三重维度的协同…...
