在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证。

好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱。

坏处是,公网服务器搭建MongoDB,那么所有人都可以直接访问并修改数据库数据了。

默认情况下,mongod也是没有管理员账户的。因此除非你在admin数据库中使用db.createUser()命令添加了管理员帐号,且使用–auth参数启动mongod,否则在数据库中任何人都可以无需认证执行所有命令。

一、创建所有数据库管理员用户:

1、管理员身份运行cmd.exe,先cd到Mongodb安装目录的bin目录,

输入命令mongo.exe,进入mongodb命令界面:

2、创建数据库test1

插入一条数据,然后用命令:show dbs 才能看到

可以看到test1。

3、进入admin数据库:

命令:use admin

4、创建管理账号:

首先看看mongodb内置角色:

    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:root  
    7. 内部角色:__system

使用命令:db.createUser({user:"testAdmin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

5、重启mongodb服务,

重新打开cmd,在mongodb路径的bin目录下,执行mongod --dbpath  d:\mongodb\data  --auth   (data是安装mongodb创建的数据库文件夹)

6、验证用户添加是否成功:

结果为1,说明成功。

7、使用Robomongo工具连接:

可以看到刚才创建的管理员用户testAdmin(角色userAdminAnyDatabase),有权限访问所有数据库。

二、下面对单个数据库设置用户、密码

同上创建test1的方式,创建数据库test2

运行命令: db.createUser({user:'test2admin',pwd:'123456',roles:[{role:'readWrite',db:'test2'}]})

使用Robomongo工具连接:

用户test2admin只能看到数据库test2。

Windows下MongoDB设置用户、密码的更多相关文章

  1. windows下mongodb设置用户名密码&用python连接

    环境: 主机:WIN10 python版本:3.5 mongodb版本:3.4.2 开发环境:pyCharm mongodb设置用户名密码: 编写mongodb配置文件mongodb.confdbpa ...

  2. Windows下GIT的用户密码修改

    Windows下GIT的用户密码修改

  3. mongodb 设置用户密码权限

    1 设置管理员账户 use admindb.createUser({ user: "useradmin", pwd: "adminpassword", role ...

  4. mysql 5.1 在Windows下重置root 用户密码

    在windows下:打开命令行窗口,停止mysql服务(这里不用进入mysql目录): net stop mysql 进入mysql安装目录的bin文件夹下 执行: mysqld --skip-gra ...

  5. windows下MySQL 忘记初始密码

    一.windows下修改MySQL用户密码的方法:   1.关闭正在运行的MySQL服务:net stop mysql  或 在windows 任务管理器中结束 mysqld.exe 进程 或 在 管 ...

  6. Mongodb设置用户权限(整理版)

    本文是基于windows 下 MongoDB 4.0编写,据了解MongoDB在3.0以后的版本中权限设置有变化. 1. 创建超级用户 安装完之后,打开命令行,进入mongodb安装目录,在bin目录 ...

  7. windows下Mongodb图形化工具安装及配置

    接上篇文章<Windows下Mongodb安装部署.docx> 一.RockMongo 1.RockMongo需要php环境,首先需要搭建php环境,选择采用 下载xampp,这里我用的是 ...

  8. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法

    MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...

  9. windows下如何设置mysql环境变量

    方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ...

随机推荐

  1. 【原创】大数据基础之Ambari(2)通过Ambari部署ElasticSearch(ELK)

    ambari2.7.3(hdp3.1) 安装 elasticsearch6.3.2 ambari的hdp中原生不支持elasticsearch安装,下面介绍如何通过mpack方式使ambari支持el ...

  2. 小程序获取formid配置模板消息

    小程序无限获取formid,发送模板信息 1.发送模板信息需要条件:formid 2.formid产生环境:提交form表单产生,并且只有真机才能出现————安卓一个13位的时间戳(近期使用得时候,安 ...

  3. hadoop家族技能图谱

  4. Javascript实现的数组降维——维度不同,怎么谈恋爱(修订版)

    数组的元素可能是数组,这样一层层嵌套,可能得到一个嵌套很深的数组,数组降维要做的事就是把嵌套很深的数组展开,一般最后得到一个一维数组,其中的元素都是非数组元素,比如数组[1, [2, 3, [4, 5 ...

  5. tensorflow激励函数-【老鱼学tensorflow】

    当我们回到家,如果家里有异样,我们能够很快就会发现家中的异样,那是因为这些异常的摆设在我们的大脑中会产生较强的脑电波. 当我们听到某个单词,我们大脑中跟这个单词相关的神经元会异常兴奋,而同这个单词无关 ...

  6. Android读写配置2

    上篇文章采用 Properties 读写配置,各种路径错误,要么没有写入权限. 后来查资料,采用另一种方式读写 SharedPreferencesImpl 直接贴代码 公共类 -- 读写 packag ...

  7. 辅助排序和Mapreduce整体流程

    一.辅助排序 需求:先有一个订单数据文件,包含了订单id.商品id.商品价格,要求将订单id正序,商品价格倒序,且生成结果文件个数为订单id的数量,每个结果文件中只要一条该订单最贵商品的数据. 思路: ...

  8. 解决:coursera 视频总是缓冲或者无法观看

    关于这个问题,网上有很多的答案,但是可能我是win10 最近才更新了的,网上的方法都不能完全解决,然后自己搜了哈,最后综合自己解决了.具体方法如下. 在开始菜单中打开运行命令,输入gpedit.msc ...

  9. ubantu16.04安装ns2.34 错误

    把ns2.34解压缩之后,sudo ./install 出现的错误: 错误一:安装NS2.34过程中出现如下的错误:tools/ranvar.cc: In member function ‘virtu ...

  10. XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Khamovniki

    A. Ability Draft 记忆化搜索. #include<stdio.h> #include<iostream> #include<string.h> #i ...