搭建mongodb单机部署-认证使用

搭建mongodb单机部署-认证使用

实现思路

先将配置文件配置好,使用不用认证的启动命令启动docker,然后创建账号并制定角色。在使用开启认证的命令重新启动容器就好。

这里我并没有说先停止容器,删掉容器重新创建容器。是因为我的启动命令中,第一步就是停止容器、删掉容器、再创建容器的。

后期关于部署方面我会使用docker-compose.yml容器编排的方式呈现给大伙,因为docker-compose.yml是真的方便,相当方便,一个命令就能解决所有。

1.5.1、创建文件

创建配置文件保存目录和数据保存目录
mkdir -p /data/mongodb/{/conf,/data,/logs}

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的时候日志拼接在以前的日志文件上,不用新建

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

  • 启动
sh /opt/docker/mongodb.sh

1.5.4、配置副本

  • 连接任意一个节点,进行副本集配置
docker exec -it mognodb /bin/bash

连接三个节点中的任意一个,链接这个就是主节点。

./usr/bin/mongosh

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 \--auth --bind_ip_all
  • 重启mongodb
sh /opt/docker/mongodb.sh

原创不易,转发指明出处。

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

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

相关文章

机器学习—Motivations

学习了线性回归,它预测了一个数字,接下来学习分类,输入变量y只能接收少数几个可能的值中的一个,而不是无限范围内的任何数字。事实证明,线性回归不是分类问题的好算法。这将引入一种不同的算法,叫做Logisti…

立仪科技:光谱共焦传感器精准测量玻璃

光谱共焦测量技术作为一种创新的光学检测方法,近年来在工业领域引起了广泛关注。 它以其高精度、非接触式的特点,特别适用于透明或半透明材料如玻璃的厚度和表面形貌测量。 接下来,立仪科技小编将深入探讨光谱共焦技术在玻璃测量上的应用及其…

【MySQL】增删改查-进阶(一)

目录 🌴数据库约束 🚩约束类型 🚩NOT NULL 🚩UNIQUE 🚩DEFAULT 🚩PRIMARY KEY 🚩FOREIGN KEY 🚩CHECK 🎄表的设计 🚩一对一 🚩一对多 …

Spring Boot知识管理:智能搜索与分析

3系统分析 3.1可行性分析 通过对本知识管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本知识管理系统采用JAVA作为开发语言,Spring Boot框…

如何做好SQL 数据库安全

随着信息技术的迅猛发展,数据库在现代信息系统中的重要性日益凸显。无论是电子商务平台、金融系统还是社交媒体应用,数据库都是其核心组件之一。其中,SQL(Structured Query Language,结构化查询语言)数据库…

微信小程序使用MQTT连接阿里云

目录 一、新建项目和项目整体配置​ 二、MQTT 下载引入和配置连接​ 三、阿里云配置 1、创建产品及设备 2、数据进行云流转 四、创建 MQTT 连接​ 五、微信小程序配置 六、效果展示 1、微信小程序发送控制命令 2、LED台灯反馈LED状态 七、微信小程序项目完整代码 一…

论文笔记:PTR: Prompt Tuning with Rules for Text Classification

Abstract 手动设计大量语言提示麻烦且易出错,而自动生成的提示,在非小样本场景下验证其有效性昂贵且耗时。因此,提示调优以处理多类别分类任务仍然具有挑战。为此,本文提出使用规则进行多类别文本分类提示调优(PTR&…

Linux发展与基础

Linux基础知识 Shell 命令执行环境: 命令提示符的组成:(用户名主机名)-[当前路径]权限提示符,例:(kali㉿kali)-[~]$ ~ 表示所在目录为家目录:其中root用户的家目录是/root,普通用户的家目录在/home下 # 表示用户的权…

C#学习笔记(二)

C#学习笔记(二) 第 二 章 命名空间和类、数据类型、变量和代码规范一、命名空间-namespace1. 作用与具体表达形式-using2. 命名空间如何分类?3. 命名空间的命名规范 第 二 章 命名空间和类、数据类型、变量和代码规范 深水区 一、命名空间-…

掌握高效工作汇报技巧:如何利用即时白板打造完美日报,提升职场影响力

在快节奏的工作环境中,撰写工作日报、周报和月报已成为职场人士的日常任务。一份精心准备的工作汇报不仅能够体现我们的敬业精神,还能吸引上级的注意,提升我们在团队中的能见度。使用即时白板作为辅助工具,可以让我们更高效地梳理…

分析调优、性能测试曲线图

目录 一、分析调优 性能测试分析的关键指标 分析步骤 收集数据: 找到瓶颈: 性能调优策略 调优硬件资源: 数据库调优: 持续监控和改进 二、性能测试曲线图 1. 轻负载阶段(Light Load) 2. 重负载…

mqtt客户端订阅一直重复连接?

文章 前言错误场景问题分析解决方案后言 前言 ✨✨ 他们是天生勇敢的开发者,我们创造bug,传播bug,毫不留情地消灭bug,在这个过程中我们创造了很多bug以供娱乐。 前端bug这里是博主总结的一些前端的bug以及解决方案,感兴…

D37【python 接口自动化学习】- python基础之函数

day37 函数的参数(上) 学习日期:20241014 学习目标:函数﹣-50 函数的参数:怎样实现函数与外部数据通信? 学习笔记: 实参与形参 代码实现 # 实参与形参 def foo(number):print(nu…

热更新解决方案2 —— Lua语法相关知识点

概述 开发环境搭建 Lua语法 1.第一个Lua程序 2.变量 print("******变量*******"); --lua当中的简单变量类型 -- nil number string boolean -- lua 中所有的变量声明 都不需要声明变量类型 它会自动的判断类型 -- 类似C# 中的var --lua中的一个变量 可以随便赋值 ——…

Python NumPy 在神经网络中的矩阵运算与激活函数详解

Python NumPy 在神经网络中的矩阵运算与激活函数详解 文章目录 Python NumPy 在神经网络中的矩阵运算与激活函数详解一 矩阵乘法回顾1 定义矩阵2 矩阵乘法计算 二 NumPy 矩阵乘法三 神经网络的分类与回归1 回归问题2 分类问题1)定义 sigmoid 函数2)定义学…

第十二章 RabbitMQ之失败消息处理策略

目录 一、引言 二、RepublishMessageRecoverer 实现 2.1. 实现步骤 2.2. 实现代码 2.2.1. 异常交换机队列回收期配置类 2.2.2. 常规交换机队列配置类 2.2.3. 消费者代码 2.2.4. 消费者yml配置 2.2.5. 生产者代码 2.2.6. 生产者yml配置 2.2.7. 运行效果 一、引言 …

爬虫逆向-js进阶(续写,搭建网站)

1.搭建简单网站1 from flask import Flask,render_template import requests import json app Flask(name)# **location**的温度是**temp**度,天气状况:**desc**app.route(/) # 绑定处理函数 def index_url():location 101010100data get_weather(lo…

Python画笔案例-086 turtle 多线程绘画

1、turtle 多线程绘画 通过 python 的turtle 库 多线程绘画,如下图: 2、实现代码 turtle 库 多线程绘画,以下为实现代码: """多线程绘画.py """ from random import random,randint from turtle import Turtle,Screen from threading

智慧光储充一体化能源管理策略

0引言 我国电动汽车的数量正在持续增长,然而,充电设施的发展却相对滞后,车与充电桩的比例远未达到规划目标。充电桩的建设面临着电网增容困难和盈利模式单一的问题。"光-储-充"一体化设备能够有效解决这些问题,通过夜间…

2024盐城大洋湾遇见迷鹿音乐节 首阵容公布开票!

生活不止一个方向,它是一场没有终点的旅行,是无尽的探索,是一次次的挑战与征服。你可以是自由的风,穿梭在城市的钢筋森林,或是旷野的无垠边际,无拘无束,只听从内心的呼唤。你可以是静止的树&…