MongoDB数据库用户名和密码的设置

首先是对MongoDB用户和权限的设置,如果不设置用户的话,直接使用mongo命令就可以进入客户端shell界面进行操作了,但是如果没有设置用户的话,总感觉少了点什么,于是经过半天的查找和实践,差不多把用户和权限弄明白了。总结如下:

如果按照以下这个指令安装的话:

mongod --install --dbpath "C:\Program Files\mongodb\data\db" --logpath "C:\Program Files\mongodb\data\log\MongoDB.log"

如下:

c:\Program Files\mongodb\bin>mongod --install --dbpath "C:\Program Files\mongodb\data\db" --logpath "C:\Program Files\mongodb\data\log\MongoDB.log"

Fri Apr 05 13:47:43.164

Fri Apr 05 13:47:43.168 warning: 32-bit servers don‘t have journaling enabled by default. Please use --journal if you want durability.

Fri Apr 05 13:47:43.169

Fri Apr 05 13:47:43.169 Trying to install Windows service ‘MongoDB‘

Fri Apr 05 13:47:43.170 There is already a service named ‘MongoDB‘, aborting

c:\Program Files\mongodb\bin>net start MongoDB

Mongo DB 服服务务已已经经启启动动成成功功。。

c:\Program Files\mongodb\bin>mongo

MongoDB shell version: 2.4.1

connecting to: test

Server has startup warnings:

Fri Apr 05 13:48:02.516 [initandlisten]

Fri Apr 05 13:48:02.516 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.

Fri Apr 05 13:48:02.516 [initandlisten] **       32 bit builds are limited to less than 2GB of data (or less with --journal).

Fri Apr 05 13:48:02.516 [initandlisten] **       Note that journaling defaults to off for 32 bit and is currently off.

Fri Apr 05 13:48:02.516 [initandlisten] **       See http://dochub.mongodb.org/core/32bit

Fri Apr 05 13:48:02.516 [initandlisten]

> show dbs

admin   (empty)

local   0.03125GB

>

可以看到有两个默认的数据库admin和local

实例1:创建一个用户名为root,密码为admin的用户,如下:

> use admin

switched to db admin

> db.addUser("root","admin")

{

        "user" : "root",

        "readOnly" : false,

        "pwd" : "bde0d84f6749c235a6b4e36d945eb666",

        "_id" : ObjectId("515e662430d89f61f6991c91")

}

> show collections

Fri Apr 05 13:50:36.685 JavaScript execution failed: error: {

        "$err" : "not authorized for query on admin.system.namespaces",

        "code" : 16550

} at src/mongo/shell/query.js:L128

>

说明:使用以上指令show collections的时候,发现报错了。是因为没有权限。做如下操作:

> db.auth("root","admin");

1

说明:返回1表示验证成功了,返回0表示验证失败。

此时,输入以下指令:show collections则可以看到admin下的集合了。

> show collections

system.indexes

system.users

> db.system.users.find()

{ "_id" : ObjectId("515e662430d89f61f6991c91"), "user" : "root", "readOnly" : false, "pwd" : "bde0d84f6749c235a6b4e36d945eb666" }

>

实例2:在用户名为root,密码为admin的用户下创建一个student数据库,并在student数据库中创建一个stu的集合并插入一个文档,如下:

> use student

switched to db student

> db.stu.insert({"name":"maoyuanjun","age":25,"sex":"male"})

> db.stu.find()

{ "_id" : ObjectId("515e676630d89f61f6991c92"), "name" : "maoyuanjun", "age" : 25, "sex" : "male" }

退出服务器,重新登陆如下:

c:\Program Files\mongodb\bin>mongo

MongoDB shell version: 2.4.1

connecting to: test

> show dbs

Fri Apr 05 13:58:05.420 JavaScript execution failed: listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" }

at src/mongo/shell/mongo.js:L46

出错原因:是没有权限。则先判断是否有权限,如下:

> use admin

switched to db admin

> db.auth("root","admin")

1

> show dbs

admin   0.0625GB

local   0.03125GB

student 0.0625GB

>

这时,我们可以看到用户root,密码admin的用户下多了一个student数据库。

实例3:在创建一个用户

c:\Program Files\mongodb\bin>mongo

MongoDB shell version: 2.4.1

connecting to: test

> use admin

switched to db admin

直接添加用户会报错:

> db.addUser("test","123456")

Fri Apr 05 14:01:31.404 JavaScript execution failed: error: { "$err" : "not authorized for query on admin.system.users", "code" : 16550 } at src/mongo/shell/query.js:L128

做权限的判断:

> db.auth("root","admin");

1

> use admin

switched to db admin

> db.addUser("test",123456)

{

        "user" : "test",

        "readOnly" : false,

        "pwd" : "c8ef9e7ab00406e84cfa807ec082f59e",

        "_id" : ObjectId("515e68e2be252e81c5dee198")

}

> show collections

system.indexes

system.users

> db.system.users.find()

{ "_id" : ObjectId("515e662430d89f61f6991c91"), "user" : "root", "readOnly" : fa

lse, "pwd" : "bde0d84f6749c235a6b4e36d945eb666" }

{ "_id" : ObjectId("515e68e2be252e81c5dee198"), "user" : "test", "readOnly" : fa

lse, "pwd" : "c8ef9e7ab00406e84cfa807ec082f59e" }

>

时间: 2024-11-08 15:24:35

MongoDB数据库用户名和密码的设置的相关文章

您在wp-config.php文件中提供的数据库用户名和密码可能不正确 的解决办法

您在wp-config.php文件中提供的数据库用户名和密码可能不正确 的解决办法 (2015-09-18 23:01:40) 标签: it 技术 经验 wordpress 网站 访问wp-admin/install.php出错:数据库连接错误.您在wp-config.php文件中提供的数据库用户名和密码可能不正确 然后看了下百度,都说是数据库没有连接成功造成的. 那么怎么设置?我整了几次没搞成功,最后还是给解决了.下面我把我设置成功的过程记录下来,以后能用到,也能帮到大家. 1.在htdocs

修改oralce数据库用户名和密码

首先以sys用户登录数据库 一.修改用户名 查到到所需修改用户名称的用户需要:select user#,name from user$;(例如查到有一个normal的用户对应的user#=61) 修改normal用户名称:update user$ set name='新的用户名称' where user#=61; 最后commit; 二.修改好了重启数据库在修改密码,否则会报用户名不存在的错误 alter user 新用户名 identified by 新密码

如何在你的应用中使用Jasypt来保护你的数据库用户名和密码

"任何时候都不应该明文显示和存储密码",我想这个原则是一个稍微有点安全常识的人都懂的,那么在Java应用中,如何最简单最方便地保护你的应用的数据呢? 本文我们以数据库的用户名和密码为例子,来讲解在APDPlat中我们如何使用开源项目Jasypt来实现加解密. 首先,我们引入依赖库,使用Maven方式如下: <dependency>     <groupId>org.jasypt</groupId>     <artifactId>jasy

window系统中 mongodb创建用户名和密码

use admindb.createUser({user:"root",pwd:"root",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]}) db.auth("root", "root")db.createUser({user:"jdh11",pwd:"12

mongodb设置用户名和密码

需求:我们需要在一个mongodb上面新建两个数据库,每个数据库的用户名和密码不一样,讲道理来说我们直接设置admin,就可以控制所有的数据库,不过用起来总是感觉有各种问题,目前还不太熟悉mongodb,所以直接对不同的数据库设置用户名和密码,可以达到预期的效果.用mongobooster测试的时候没有输入用户名和密码会看不到数据库. mongodb的用户名和密码是对应到每个具体的数据库的. 这里记录一下一些命令: 1.首先我们启动mongodb的时候,如果需要修改就以普通方式启动 mongod

使用navicat 使用IP、用户名、密码直接连接linux服务器里面的数据库

一般新申请的服务器,没有开通3306端口的吧,反正我遇到的,要用Navicat去连接linux下的数据库,都必须填写两个地方的信息,才能链接成功. 如果想要只通过填写ip还有数据库用户名还有密码就可以连接数据库的话,需要进行一下配置: 1.在服务器控制台的安全组中增加一个规则:3306的,该端口是连接数据库的: 2.在mysql的user表里面,修改host里面的内容,可以修改为%,即任意IP都可以连接,如下图红框内容改为% 然后重启一下mysql服务,即service mysqld resta

ubuntu 安装 mongodb 数据库

第一步:下载安装包 下载版本:3.0.1 下载链接:http://www.mongodb.org/downloads 首先在linux中解压缩安装程序 通过命令操作: 解压:[root@localhost  soft]# tar -zxvf mongodb-linux-i686-3.0.1.tgz 解压过程如下: 我们把mongodb-linux-i686-3.0.1.tgz解压后的文件夹重命名为mongodb 我们把在mongodb目录下新建一个data目录存放数据.新建一个log目录存放日志

MongoDB如何设置权限(类似关系型数据库的用户名和密码)

MongoDB 缺省是没有设置鉴权的,业界大部分使用 MongoDB 的项目也没有设置访问权限.这就意味着只要知道 MongoDB 服务器的端口,任何能访问到这台服务器的人都可以查询和操作 MongoDB 数据库的内容.在一些项目当中,这种使用方式会被看成是一种安全漏洞. 本文介绍如何在单台 MongoDB 服务器上设置鉴权.设置完后,MongoDB 客户端必须用正确的用户名和密码登录,才能在指定的数据库中操作. 首先介绍下 MongoDB 的用户和权限.每个数据库都有自己的用户,创建用户的命令

mongodb 权限设置--用户名、密码、端口

一.关于权限的默认配置 在默认情况下,mongod是监听在0.0.0.0之上的,任何客户端都可以直接连接27017,且没有认证.这样做的好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱.然而坏处也是显而易见,如果直接在公网服务器上如此搭建MongoDB,那么所有人都可以直接访问并修改数据库数据了. 默认情况下,mongod也是没有管理员账户的.因此除非你在admin数据库中使用db.addUser()命令添加了管理员帐号,且使用–auth参数启动mongod,否则在数据库中任何人都可以无