一.配置用户

1.启用、关闭认证
vi /etc/mongod.conf//注释这两句 => 关闭认证
#security:
# authorization: enabled//打开这两句 => 启用认证
security:authorization: enabled
2.远程、本地登录
vi /etc/mongdo.confbindIp 127.0.0.1 => 直接mongo --port 27017 -u [USERNAME] -p [PASSWORD] ... 可进入mongo shellbindIp 192.168.130.10p => 需要加--host mongo --port 27017 -u [USERNAME] -p [PASSWORD] --host 192.168.130.109 ...
3.创建用户

a.系统管理员

use admindb.createUser({user: "jyjinAdmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]}
)db.createUser({user: "jyjinAdmin", pwd: "123456", roles:[{role: "userAdminAnyDatabase", db: "admin"}]})//2019.5.9更新 4.0版本超级管理员此权限不够
db.createUser(
{user: "jyjinAdmin",pwd: "123456",roles: [{ role: "userAdminAnyDatabase", db: "admin" },{ role: "readWriteAnyDatabase", db: "admin" },{ role: "dbAdminAnyDatabase", db: "admin" },{ role: "clusterAdmin", db: "admin" }]
})db.createUser({user: "jyjinAdmin", pwd: "123456", roles: [{ role: "userAdminAnyDatabase", db: "admin" },{ role: "readWriteAnyDatabase", db: "admin" },{ role: "dbAdminAnyDatabase", db: "admin" },{ role: "clusterAdmin", db: "admin" }]})

b.普通管理员

db.createUser({user: "jyjin",pwd: "123456",roles: [ { role: "readWrite", db: "test" } ]}
)db.createUser({user: "jyjin", pwd: "123456", roles: [{role: "readWrite", db: "test"}]})

c.创建游客

db.createUser({user: "jyjinGuest",pwd: "123456",roles: [ { role: "read", db: "test" } ]}
)db.createUser({user: "jyjinGuest", pwd: "123456", roles: [{role: "read", db: "test"}]})

二.测试登录

1.配置mongoDB配置文件
vi /etc/mongod.confbindIp 192.168.130.109

解释:bindIp 改成所在机器ip地址 ,目的为了其他机器能够登录

2.启动
service mongod start
或者
service mongod restart

解释:配置文件修改,必须用mongod重启服务,只有mongod服务会读取配置文件

3.登录
//形如:mongo --port [端口] -u [用户名] -p [密码] --authenticationDatabase [数据库名] --host [ip地址]
mongo --port 27017 -u 'jyjinAdmin' -p '123456' --authenticationDatabase 'admin' --host 192.168.130.109

解释:jyjinAdmin是超级管理员,可登录109机器的admin库

三.混淆名词解释

mongo——与MongoDB交互的javascript shell接口。用来为管理人员提供强大的DB管理接口,给开发人员直接去查询、操作数据库的方案。
mongod——与MongoDB交互的一个进程。用来处理数据请求,管理数据访问,执行后台的管理操作。

四.新数据库设置

1.远程登录到mongoDB所在服务器
ssh root@192.168.130.109
2.确保配置文件ip修改为本机实际ip
vi /etc/mongod.confbindIp 192.168.130.109

解释:修改bindIp的值。如果没改过的话,原值是127.0.0.1 本例演示的是远程登录192.168.130.109这台机器的mongoDB

3.管理员远程登录服务器
mongo --port 27017 -u 'jyjinAdmin' -p '123456' --authenticationDatabase 'admin' --host 192.168.130.109

解释:使用管理员账号jyjinAdmin密码为123456的账号,登录主机是192.168.130.109端口是27017的mongoDB

4.创建新的数据库
use monitorService

解释:创建一个新的数据库,数据库名称是monitorService

5.为新数据库创建用户
db.createUser({user: "jyjinAdmin", pwd: "123456", roles: [ { role: "readWrite", db:"monitorService"}]})

解释:创建一个名称为jyjinAdmin密码为123456的用户,该用户可以读写数据库monitorService, 这里的jyjinAdmin是一个标准的开发用户

6.启用mongoBoost或Robot3T等客户端测试连接

如下图 图1图2图3


图1

图2

图3
新数据库设置成功!

拓展——node中 mongo连接格式
var conn= mongoose.createConnection('mongodb://jyjin:123456@192.168.130.109:27017/monitorService', function (err) {if (err) {console.error('connect to %s error: ', config.db, err.message);process.exit(1);}
});

五.管理员密码重置

1.关闭认证
vi /etc/mongod.conf
// 注释以下两句代码至如下
# security:
#  authorization: enabled

解释:注释认证语句,关闭mongo认证功能。注意:两句都要注释,亲测只注释第二句,重启mongo服务会不成功

2.重启服务
service mongod restart

解释:重启以生效配置文件改动的配置。如果上面只注释一句,会导致启动不成功

3.登录mongo
mongo

解释:此处/etc/mongod.confbindIp的值为127.0.0.1,同时关闭了认证,所以可以省去参数直接登入mongo shell

4.修改用户信息
use admin                        // 切换到admin库
db.system.users.find()           // 查看系统用户表
db.system.users.remove({})       // 删除所有用户 也可以只删除admin
db.createUser({user: "jyjinAdmin", pwd: "123456", roles:[{role: "userAdminAnyDatabase", db: "admin"}]})                      // 重置管理员用户名密码 参考本文【模块一:配置登录】
5.重新打开配置文件的认证
vi /etc/mongod.conf //取消注释认证如下
security:uthorization: enabled

解释:重新启用认证

6.重启生效
service mongod restart

如果对您有用,一分一块都是爱❤️

mongoDB Linux 认证配置、重置密码、远程登录配置详解相关推荐

  1. linux配置ssh密码远程登录,配置ssh 无需密码即可登录远程服务器

    在平时工作或者开发自己的项目时,经常需要登录部署了项目代码的服务器来做一些调试,配置等相关的操作,像sftp.rsync之类的工具也是基于ssh通道来工作的.但是经常输密码登录服务器又会让人觉得很烦, ...

  2. Navicat的mysql远程登录方法详解

    Navicat的mysql远程登录方法详解 工具和前提 远程连接方法 疑惑问题 报错汇总 关闭并删除用户 引用 工具和前提 1.均在Navicat上面进行操作: 2.Navicat15的版本,本地数据 ...

  3. 【安全知识】——SSH的两种远程登录方法详解

    作者名:Demo不是emo   主页面链接:主页传送门 博主简介:一个普通的大二学生,在CSDN写博客主要是为了分享自己的学习历程,学习方法,总结的经验等等,希望对大家有帮助 座右铭:不要让时代的悲哀 ...

  4. linux初级学习笔记七:linux用户管理,密码和组命令详解!(视频序号:04_1)

    本节学习的命令: 用户管理命令:useradd,userdel,id,finger,usermod,chsh,chfn,passwd,pwck, 组管理命令:groupadd,groupmod,gro ...

  5. linux ssh连接交换机_如何配置交换机SSH远程登录

    如何配置交换机SSH远程登录,本期我们就来了解下ssh远程登陆的方式,以锐捷交换机为例. 如何配置锐捷SSH远程登陆? 一.配置思路 配置ssh远程登陆,一般是有四个步骤: 1.首先选择Console ...

  6. Linux服务器配置root用户ssh远程登录

    Linux服务器配置root用户ssh远程登录   开启root用户使用密码远程登录,使用xshell连接远程服务器. 1. 安装 openssh-server 查看是否安装 yum list ins ...

  7. DCN-S4600 telent、http远程登录配置

    DCN-S4600 telent.http远程登录配置: DCN-s4600 telent服务登录: S4600-28P-SI>enable S4600-28P-SI#config termin ...

  8. CISCO路由器TELNET和SSH远程登录配置实例

    一.TELNET远程登录配置 1.配置CISCO路由器上登录账号.口令.账号级别,如下所示,账号名abc.口令为abc123.账号级别为15(最高级别) R1#configure terminal R ...

  9. 腾讯云配置jupyter notebook远程登录

    腾讯云配置jupyter notebook远程登录 我的环境 操作步骤 其他 我的环境 腾讯云云服务器 操作系统Ubuntu Server 20.04 LTS 64位 配置时间在21年10月 操作步骤 ...

  10. h3c交换机配置远程管理_H3C 交换机设置本地用户和telnet远程登录配置 v7 版本...

    H3C 交换机设置本地用户和telnet远程登录配置   v7版本 一.配置远程用户密码与本地用户一致 [H3C]telnet server en //开启Telnet 服务 [H3C]local-u ...

最新文章

  1. mysql中拼接用什么_MySQL中常用的拼接语句的小结(代码示例)
  2. IE9正式版已完成 截图曝光
  3. linux下ifconfig, DNS以及route配置
  4. ER图和关系模型到MySQL数据库表
  5. 在Ubuntu下rtorrent编译安装笔记
  6. Linux上SQL Server 2019和Ubuntu上的Docker容器
  7. Web Components系列(七) ——自定义组件的生命周期
  8. 在B/S系统中引入定时器的功能
  9. win10系统显示打印机未连接到服务器,win10系统连接打印机提示“打印处理器不存在”如何解决...
  10. python爬虫之ajax请求爬取豆瓣电影数据
  11. 用winpcap实现局域网DNS欺骗
  12. 英文文献翻译(白嫖版)
  13. 使用CS发送钓鱼邮件
  14. java用poi操作excel,2003,2007,2010
  15. 名片管理系统 #python项目 #演练 #增删改查CRUD #全程教程
  16. 那些年,在Fragment中犯的错
  17. 计算机网络根据其规模大小和延伸范围,网络管理员考试计算机网络的分类
  18. 【SHOI2001】洛谷2530 化工厂装箱员
  19. 程序实现IMEI/MEID校验位计算
  20. QX5299人体感应太阳能LED灯控制器

热门文章

  1. springboot redis做缓存
  2. mysql 数据库索引b+树深度问题
  3. 第3章 内核编程语言与环境(1)
  4. 魅族android10答案,根据ANDROID 10的魅族手机FLYME 8.1已公布:下列是达标机器设备的目录...
  5. MODIS NDVI数据处理
  6. 三百左右的蓝牙耳机哪款好?三百左右的蓝牙耳机推荐
  7. 启动报异常:org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping
  8. 无线网络的加密方式:WEP、WPA和WPA2(转)
  9. Java 单例模式 、 生产者消费者 、 网络编程
  10. 详解 ip addr 命令