在一个没有超级用户的mongodb 生产库上如何添加超级用户

说来这个问题,都觉得不可思议,一个数据库怎么没有超级用户呢,我们知道,MYSQL,PG,ORACLE等,创建好后,都有一个默认的超级用户,MONGODB也有超级用户,但需要自己去建立,默认是没有的。国内一些软件公司,可能为了安全的因素,在部署应用时,就没有创建超级用户,同时启用了权限认证auth,然后就创建自己的业务数据库,导致后面维护时,只能登录到他的库去看该库的信息,但整个MONGODB的运行信息,由于没有超级用户信息,很多信息,都无法获取,比如运行 db.serverStatus() 都会报错,这种情况下,后面我们怎么才能把超级用户加进去呢 

下面我们来讲一下后期添加超级用户的步骤:

1.关闭配置文件权限认证


#security:
  #authorization: enabled

  要加超级用户,必须要关闭权限认证,这个通过修改配置文件来实现。

2.关闭数据库

  关闭数据库,可以通过操作系统方式来实现

  ps -ef|grep mongod

  kill -9 pid

  或者:
  use admin
  db.shutdownServer();


3.做好备份

  为了避免出现失误,在后续的操作之前,最好把数据库做一个备份

   我这里使用 tar 命令备了一个,后面有问题,直接使用tar 还原即可

    tar cvf mongodb.tar /data/mongo/db

4.重启数据库


mongod -f /etc/mongodb.conf 

以第一步关闭权限认证方式生效。

5.登录数据库

mongo  --host=localhost --port=27017

这个时候,登录,不再需要用户账户信息,就可登录。

6.增加超级用户

> use admin    --切换到ADMIN数据库
switched to db admin

> show tables;  --查看一下目前里面有哪些表
system.users
system.version

--创建管理用户

> db.createUser({'user':'root',
                 'pwd':'sztech@root',
                 'roles':[{role:'root',db:'admin'}]})

Successfully added user: {
        "user" : "root",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

7.关闭数据库

  use admin
  db.shutdownServer();

8.修改配置文件增加权限验证


vim /etc/mongodb.conf
#登录验证
auth=true

9.重新启动数据库

mongod -f /etc/mongodb.conf 

这个时候,开启了权限认证

10.本地登录 - 连接时验证


$ mongo

> use admin
switched to db admin

> db.auth("username", "password")

比如我们这里:

> db.auth("root","sztech@root")

我也可以去验证一下业务用户

> db.auth("ordb","ordb@ordb")

没有问题,然后,使用业务用户登录去做一些查询操作,验证业务用户可以正常操作。

   到此,超级用户添加成功。

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

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

相关文章

前端分片上传

前端分片上传是一种将大文件分成若干个小块进行上传的方式,以解决大文件上传时网络不稳定或上传速度慢的问题。下面是前端分片上传的基本步骤: 使用JavaScript读取文件,将文件分成若干块。可以使用File API来实现这个功能。使用XMLHttpReque…

使用VC++实现锐化处理(使用Sobel算子、Prewitt算子、Isotropic算子)

使用VC实现锐化处理(使用Sobel算子、Prewitt算子、Isotropic算子) 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章: 01- 一元熵值、二维熵值 02- 图像平移变换,图像缩放、图像裁剪、图像对角线镜像以及图像…

Vxworks6.9的在线gdb调试(仿真内核和板载内核)

创作目的:归纳总结常用的技巧和方法,方便自己后续查阅重点节省时间。 一、仿真内核的gdb调试 1、新建DKM工程,选择sim的BSP包 2、DKM工程中添加c文件并编辑入口函数 3、新建vxworks远端系统 4、显示系统起来之后进行加载.out 5、选择Debug模…

基于hadoop下的Kafka分布式安装

简介 Kafka是一种分布式流处理平台,它具有高吞吐量、可扩展性、可靠性、实时性和灵活性等优点。它能够支持每秒数百万条消息的传输,并且可以通过增加节点来增加吞吐量和存储容量。Kafka通过将数据复制到多个节点来实现数据冗余和高可用性,即使…

Linux脚本awk命令

目录 一. awk命令简介 1. awk版本 2. awk与vim的区别 3. awk与sed的区别 4. awk工作原理 5. awk格式 6. awk常用选项 二. awk基础用法 1. awk基础用法 2. BEGIN和END语句块 3. 指定分隔符 4. 首尾关键字 三. awk内置变量 1. FS变量 2. OFS变量 3. RS变量 4. NF…

代码随想录算法训练营第五十三天 | 1143.最长公共子序列,1035.不相交的线,53. 最大子序和 动态规划

目录 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 动态规划 1143.最长公共子序列 题目链接:1143. 最长公共子序列 (1)dp[ i ][ j ] 表示 text1 前 i 个元素、text2 前 j 个元素的最长公共子序列的长度; (2&a…

在 Linux 上修改 Oracle 控制文件、日志文件和数据文件的目录的脚本

以下是一个交互式的 Bash 脚本示例,用于在 Linux 上修改 Oracle 数据库控制文件、日志文件和数据文件的目录。脚本会要求您输入要修改的路径,并根据输入的路径执行相应的修改操作。 #!/bin/bash# 修改以下变量以匹配您的 Oracle 数据库设置 ORACLE_SID&…

30、LCD1602

LCD1602介绍 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符 显示容量:162个字符,每个字符为5*7点阵 …

理解SpringIOC和DI第一课(Spring的特点),IOC对应五大注解,ApplicationContext vs BeanFactory

Spring是一个包含众多工具等Ioc容器 对象这个词在Spring范围内,称为bean Spring两大核心思想 1.IOC (IOC是控制反转,意思是控制权反转-控制权(正常是谁用这个对象,谁去创建,)-控制对象的控制权&#xf…

Vue2 模版编译及生命周期钩子 总结归纳

一. 在beforeCreate生命周期钩子被调用之前,其实还有两个阶段: (1) 编译阶段。 如果使用了构建步骤,例如使用了单文件组件【.vue文件】,则会在此阶段进行: 对模板进行解析和编译,并生成渲染函数。编译过程…

轻量封装WebGPU渲染系统示例<41>- 前向渲染的雾(Fog)效果(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/FogTest.ts 当前示例运行效果: 此示例基于此渲染系统实现,当前示例TypeScript源码如下: export class FogTest {private mRscene new Rend…

优化你的计算机性能:如何根据 CPU 占用率决定硬件升级

优化你的计算机性能:如何根据 CPU 占用率决定硬件升级 一、引言二、CPU 占用率的意义与影响三、监测和评估 CPU 占用率四、判断硬件升级需求的依据五、硬件升级方案和建议六、总结 一、引言 计算机性能优化是提升计算机系统整体效能的过程,它对于用户和…

React立即更新DOM

正常情况下,react会等待set完毕后再进行页面渲染,所以在set时无法拿到更新后的dom import { useRef, useState } from "react"export default () > {const div useRef(null)const [count, setCount] useState(0)const btnClick () >…

各大期刊网址

AAAL: http://dblp.uni-trier.de/db/conf/aaai/ CVPR: http://dblp.uni-trier.de/db/conf/cvpr/ NeurlPS:http://dblp.uni-trier.de/db/conf/nips/ ICCV: http://dblp.uni-trier.de/db/conf/iccv/ IJCAL: http://dblp.uni-trier.de/db/conf/ijcal/ 并非原创引…

微机原理——定时器8253(8254)学习2应用与设计

目录 简要说明 用户扩展的定时计数器应用举例 1 8254作测量脉冲宽度 2 8254作定时 3 8254作分频 4 8254同时用作计数与定时 硬件设计 ​编辑软件设计 微机系统中定时计数器应用举例 5 计时器设计 硬件设计 软件设计 6 发生器设计 硬件设计 软件设计 简要说明 定…

LinuxBasicsForHackers笔记 --网络分析和管理

使用 ifconfig 分析网络 ifconfig – ifconfig 命令是用于检查活动网络接口并与之交互的最基本工具之一。只需在终端中输入 ifconfig 即可使用它来查询当前活动的网络连接。命令输出的顶部是第一个检测到的接口的名称。第二行包含当前分配给该网络接口的 IP 地址的信息&#x…

网上商城、宠物商城源码(Java)

javaWebjsp网上书城以及宠物商城源码,功能有购物车、收藏以及下单等等功能 带后台管理功能 运行示意图:

iOS 自动签名打包,并用脚本上传appstore

背景: 1)测试环境给测试,产品,或者其他业务人员打测试包时,经常存在需要添加设备,不得不重新生成描述文件,手动去更新打包机描述文件配置 2)证书,描述文件过期造成打包失…

STM32-SPI 中断

SPI协议 1.1 SPI总线介绍 SPI接口是Motorola (motorola | Smartphones, Accessories & Smart Home Devices)首先提出的全双工三线/四线同步串行外围接口采用主从模式(Master Slave)架构。 时钟由Master控制,在时钟…

华三知识点总结(完成中)

计算机网络概述 星型拓扑易于维护 在星型拓扑中,某条线路的故障不影响其它线路下的计算机通信 电路交换: 优点 延迟小,透明传输 缺点 固定带宽,网络资源利用率低 分组交换:优点 多路复用,网络资源利用率高 缺点&#x…