搭建`mongodb`副本集-开启权限认证 mongo:7.0.5
搭建mongodb副本集-开启权限认证 mongo:7.0.5
1.5.1、创建文件
创建配置文件保存目录和数据保存目录
mkdir -p /data/mongodb/{/conf,/data,/logs}
- 生成和设置权限
这个文件一定要在一个服务里面生成然后复制到其它服务器,所有服务器的这个key一定是相同的。
openssl rand -base64 756 > /data/mongodb/conf/mongodbKeyfile.keychmod 400 /data/mongodb/conf/mongodbKeyfile.key
在192.168.1.124节点生成,然后复制到其它4个节点中。
scp mongodbKeyfile.key root@192.168.1.125:/data/mongodb/conf
scp mongodbKeyfile.key root@192.168.1.126:/data/mongodb/conf
scp mongodbKeyfile.key root@192.168.1.127:/data/mongodb/conf
scp mongodbKeyfile.key root@192.168.1.128:/data/mongodb/conf
1.5.2、配置文件
- 第一台MongoDB配置文件
注意:更改端口号为最终端口号。这里的配置文件里面,不增加任何认证的问题,因为这只是为了集群和创建用户用的,后面需要重新覆盖掉。
vim /data/mongodb/conf/mongod.conf
net:port: 27017 # 这是启动端口bindIp: 0.0.0.0 # 允许哪些ip连接(好像和下面的命令参数 --bind_ip_all 相类似的作用)
systemLog:logAppend: true # 重新启动的mongodb的时候日志拼接在以前的日志文件上,不用新建
security:keyFile: /data/configdb/mongodbKeyfile.key # 这个路径很重要(注意这个路径是下面容器映射过的路径),不要写宿主机的绝对路径,容器是访问不到宿主机的,应该写容器中的路径。authorization: "enabled" # 开启客户端连接验证
replication:replSetName: "rs" # 副本集的名称
setParameter:# 事务锁超时最长时间(毫秒)默认 3 毫秒maxTransactionLockRequestTimeoutMillis: 1000
1.5.3、创建启动命令
首先不要增加任何认证,先启动不用认证的mongodb,在里面将需要的集合、副本和用户名密码权限等信息创建好,在使用需要认证的命令重新创建容器。因为配置的信息已经映射到宿主机上了,只要不把宿主机上的数据删除,所有配置都是存在的。
mkdir -p /opt/docker
vi /opt/docker/mongodb.sh
- 不用认证的命令
MONGODB_DIR=/data/mongodb
NAME=mognodb
CONF=/data/mongodb/conf
docker stop ${NAME}
docker rm ${NAME}
docker run --name ${NAME} \-p 35964:27017 \-v ${MONGODB_DIR}/data:/data/db \-v ${CONF}:/data/configdb \-v ${MONGODB_DIR}/logs:/data/log \-d mongo:7.0.5 \--replSet "rs"
- 启动
sh /opt/docker/mongodb.sh
1.5.4、配置副本
- 连接任意一个节点,进行副本集配置
docker exec -it mognodb /bin/bash
连接三个节点中的任意一个,链接这个就是主节点。
./usr/bin/mongosh
- 配置副本
var config={_id:"rs",members:[{_id:1,host:"192.168.1.124:35964",priority:5},{_id:2,host:"192.168.1.125:35964",priority:4},{_id:3,host:"192.168.1.126:35964",priority:3},{_id:4,host:"192.168.1.127:35964",priority:2},{_id:5,host:"192.168.1.128:35964",priority:1},
]};
rs.initiate(config)
- 查看副本集配置信息
rs.conf()
- 查看副本集状态
rs.status()
1.5.5、创建用户名和密码
- 切换数据库和创建用户
use userdb
db.createUser({ user: 'oeirnergnekladc', pwd: 'aE3UurXjWtxbHN80RCxL', roles: [ { role: "root", db: "admin" } ] });
db.auth('oeirnergnekladc', 'aE3UurXjWtxbHN80RCxL');
这里需要注意权限的问题,权限给
root似乎太大了,但是也不能给太小,给太小会发现干啥都没权限。

1.5.6、创建需要认证的启动命令
- 先退出mongodb和容器,回到宿主机
exit
exit
把原来的启动命令删除,重新编辑启动命令。
rm -rf /opt/docker/mongodb.sh
vi /opt/docker/mongodb.sh
- 写入启动命令
MONGODB_DIR=/data/mongodb
NAME=mognodb
CONF=/data/mongodb/conf
docker stop ${NAME}
docker rm ${NAME}
docker run --name ${NAME} \-p 35964:27017 \-v ${MONGODB_DIR}/data:/data/db \-v ${CONF}:/data/configdb \-v ${MONGODB_DIR}/logs:/data/log \--restart=always \-d mongo:7.0.5 \--replSet "rs" \--auth --bind_ip_all -f "/data/configdb/mongod.conf"
- 重启mongodb
sh /opt/docker/mongodb.sh
原创不易,转发制定出处,感谢网友理解
相关文章:
搭建`mongodb`副本集-开启权限认证 mongo:7.0.5
搭建mongodb副本集-开启权限认证 mongo:7.0.5 1.5.1、创建文件 创建配置文件保存目录和数据保存目录 mkdir -p /data/mongodb/{/conf,/data,/logs}生成和设置权限 这个文件一定要在一个服务里面生成然后复制到其它服务器,所有服务器的这个key一定是相同的。 op…...
智能工厂的软件设计 由“原力“篇引发的思考: 回顾、展望和本位 之2 修订稿之2
Q15、《“工厂”篇》其前的《“公共逻辑”》篇 提出的三个专门工厂(抽象/项目/产品)以及 再之前 讨论的各自的“专项运作逻辑”(辩证/数理/形式)之间协作的“整体概念运作”“概念模式”给出一个标准的“公共逻辑”的“语言模板”…...
2025选题推荐|基于SpringBoot的幼儿园智能管理与监控系统的设计与实现
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,…...
mqtt客户端订阅一直重复连接?
文章 前言错误场景问题分析解决方案后言 前言 ✨✨ 他们是天生勇敢的开发者,我们创造bug,传播bug,毫不留情地消灭bug,在这个过程中我们创造了很多bug以供娱乐。 前端bug这里是博主总结的一些前端的bug以及解决方案,感兴…...
SegFormer: 一个基于Transformer的高效视觉图像分割算法
今天我分享一篇关于 Transformer 架构在图像视觉分割中的应用的文章,主题是 SegFormer。SegFormer 是一种新颖的语义分割方法,它结合了无位置编码的层次化 Transformer 编码器和轻量级 All-MLP 解码器,避免了传统方法中的复杂设计,…...
SoC芯片中Clock Gen和Reset Gen的时钟树综合
社区目前已经开设了下面列举的前四大数字后端实战课程,均为直播课,且均是小编本人亲自授课!遇到项目问题,都可以远程一对一指导解决具体问题。小编本人是一线12年后端经验的数字后端工程师。想找一线IC后端技术专家亲自带你做后端…...
学习资料:电子标签拣货技术
导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 完整版文件和更多学习资料,请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件主要介绍了电子标签拣货技术,…...
Git 提交规范参考
Git 提交规范参考 feat 增加新的业务功能fix 修复业务问题/BUGperf 优化性能style 更改代码风格, 不影响运行结果refactor 重构代码revert 撤销更改test 测试相关, 不涉及业务代码的更改docs 文档和注释相关chore 更新依赖/修改脚手架配置等琐事workflow 工作流改进ci 持续集成…...
【前端】Matter:物体的高级控制
在 Matter.js 中,除了简单的物体创建和碰撞检测外,还可以通过高级控制实现更复杂的物理交互与模拟效果。本教程将介绍如何使用 约束 (Constraint)、复合物体 (Composite) 以及如何进行 运动与旋转控制,来实现链条、摆钟等效果,以及…...
ASP.NET Core 路由规则 MapControllerRoute、MapDefaultControllerRoute、MapController
MapControllers 来映射属性路由控制器。 资料...
linux命令之less用法
less 分屏上下翻页浏览文件内容 补充说明 less命令 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页&…...
试用cursor的简单的记录
快下班时又饿了,饿了几个小时了。中午那点饭,没够顶到下班。难怪店家说饭可以随便加。 所以不编码了,本周任务也超额完成了,这种状态再去编码调试,搞不好会写出自己不认识的代码。 本周工作中,新的事务是…...
下载Edge/Chrome浏览器主题的背景图片
当我们为Edge安装了心仪的主题后,希望把对应的背景图片下载保存要怎么做呢,以下图的“湖心小屋”主题为例。如下图,我们已经在应用商店中按照了该主题。 当打开新标签页后,可以欣赏这个主题内置的背景图片。 如果想要下载这个背景…...
Python解力扣算法题4(基础)
# 1.求斐波那契数列下标为n的数 (从零开始) # def fib(n): # if n < 2: # return n # # p, q, r 0, 0, 1 # for i in range(2, n 1): # p, q q, r # r p q # # return r#2. 和谐数组是指一个数组里元素…...
鸿蒙NEXT开发-网络管理(基于最新api12稳定版)
注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…...
【LeetCode每日一题】——1413.逐步求和得到正数的最小值
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 前缀和 二【题目难度】 简单 三【题目编号】 1413.逐步求和得到正数的最小值 四【题目描述】…...
音频分割:长语音音频 分割为 短语音音频 - python 实现
在做语音任务时,有是会用到的语音音频是长音频,这就需要我们将长音频分割为短音频。 该示例将声音的音量和静默时间结合作为语音的分割条件。 使用音量和静默时间结合的分割条件,能够比较好的进行自然断句,不会话语没有说完就切断…...
【Echarts动态排序图,series使用背景色更新动画,背景底色不同步跟随柱子动画】大家有没有解决方案
echarts动态排序图背景色动画不同步 echarts试一试 series下面添加了showBackground属性,动画时底色背景不同步跟随柱图 showBackground: true, backgroundStyle: {borderRadius: 9,color: RGB(255,199,91, 0.2) }const data []; for (let i 0; i < 5; i) {d…...
FLINK SQL 元数据持久化扩展
Flink SQL元数据持久化扩展是一个复杂但重要的过程,它允许Flink作业在重启或失败后能够恢复状态,从而确保数据处理的连续性和准确性。以下是对Flink SQL元数据持久化扩展的详细分析: 一、元数据持久化的重要性 在Flink中,元数据…...
MySQL【知识改变命运】04
复习: 1:CURD 1.1Create (创建) 语法: insert [into] 表名 [column[,column]] valuse(value_list)[,vaule_list]... value_list:value,[value]...创建一个实例表: 1.1.1单⾏数据全列插⼊ values_l…...
STM32硬件I2C驱动AS5600磁编码器:从CubeMX配置到完整代码实现
STM32硬件I2C驱动AS5600磁编码器:从CubeMX配置到完整代码实现 在电机控制、机器人关节定位等需要高精度角度检测的应用场景中,磁性旋转位置传感器因其非接触式测量特性而备受青睐。AS5600作为一款12位高分辨率磁性编码器,通过I2C接口可提供精…...
MySQL 实战进阶:从单表优化到分布式数据库适配
MySQL 实战进阶:从单表优化到分布式数据库适配 在企业业务发展的不同阶段,MySQL 的应用场景从简单的单表查询,逐步演进到高并发、海量数据的处理场景。多数开发者在入门 MySQL 后,容易陷入“会用但不会优”的困境——单表数据量激…...
OpenClaw(养龙虾)算力集群首选@ACP#YLB3118 + IX8024
YLB3118 IX8024 硬件推广文案OpenClaw(业内俗称养龙虾)是当前最火的AI 分布式训练、大模型推理、多 GPU 算力集群架构,核心需求就是:多卡扩展、海量存储、低延迟、高可靠、国产化。YLB3118(SATA 扩展)与 I…...
智能进化:基于DouZero的欢乐斗地主AI实战突破指南
智能进化:基于DouZero的欢乐斗地主AI实战突破指南 【免费下载链接】DouZero_For_HappyDouDiZhu 基于DouZero定制AI实战欢乐斗地主 项目地址: https://gitcode.com/gh_mirrors/do/DouZero_For_HappyDouDiZhu 斗地主作为国民级卡牌游戏,胜负往往取决…...
让 DDL 源码真正可读:SAP ADT 里 DDL Formatter 的配置逻辑、团队协作方式与项目实践
在很多 ABAP 项目里,开发人员会把注意力集中在语义正确、激活成功、性能可接受这些层面,却容易低估一件事:DDL 源码的可读性,直接影响建模质量、代码审查效率,以及团队协作时的认知成本。CDS 语句一旦开始出现较长的元素列表、复杂的 Boolean expression、多层 JOIN、多个…...
【限时解禁】PyTorch 3.0静态图训练最佳实践白皮书(含21个真实集群trace日志+自动调优脚本)
第一章:PyTorch 3.0静态图分布式训练全景概览PyTorch 3.0 引入了原生静态图编译能力(TorchDynamo Inductor 后端深度集成),结合 torch.distributed 的增强型 API,构建出面向大规模集群的高性能分布式训练范式。与传统…...
UEFITOOL 0.28:终极BIOS固件解析与修改实战指南
UEFITOOL 0.28:终极BIOS固件解析与修改实战指南 【免费下载链接】UEFITOOL28 项目地址: https://gitcode.com/gh_mirrors/ue/UEFITOOL28 UEFITOOL 0.28是一款专业级的UEFI固件分析工具,专门为BIOS固件解析、修改和深度分析而设计。无论你是固件工…...
Pixel Language Portal入门必看:基于Hunyuan-MT-7B的怀旧风翻译工具从零搭建
Pixel Language Portal入门必看:基于Hunyuan-MT-7B的怀旧风翻译工具从零搭建 1. 项目介绍与核心价值 Pixel Language Portal(像素语言跨维传送门)是一款融合了复古游戏美学与现代AI翻译技术的创新工具。与传统翻译软件不同,它将…...
腾视科技大模型一体机解决方案:低成本私有化落地,重塑行业智能应用新格局
在数字化浪潮席卷各行各业的今天,大模型技术正成为驱动创新的核心引擎。然而,企业在引入大模型时,往往面临数据安全难保障、长期成本高、场景适配性不足等痛点。腾视科技深耕技术研发,推出“大模型一体机低成本私有化落地解决方案…...
SOFABoot 过滤器系统终极指南:JVMFilter 与组件生命周期管理深度解析
SOFABoot 过滤器系统终极指南:JVMFilter 与组件生命周期管理深度解析 【免费下载链接】sofa-boot SOFABoot is a framework that enhances Spring Boot and fully compatible with it, provides readiness check, class isolation, etc. 项目地址: https://gitcod…...
