MongoDB 设置参数

栏目: 数据库 · 发布时间: 5年前

内容简介:bin目录下的mongod.cfg是服务器的配置文件,文件中主要的配置参数:1、数据库文件的存放位置

服务器配置文件分析

bin目录下的mongod.cfg是服务器的配置文件,文件中主要的配置参数:

1、数据库文件的存放位置

MongoDB 设置参数

2、服务器日志文件的存放位置

MongoDB 设置参数

3、默认的IP地址、端口号

MongoDB 设置参数

设置密码

默认情况下,MongoDB的服务器地址是127.0.0.1,端口号是27017,存储数据库管理员信息的admin数据库是空的,即没有管理员账户,任何客户端可以直接连接服务器,不需要认证。

好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱。坏处是,所有人都可以直接访问并修改数据库数据。

1、使用admin数据库,创建一个管理员账户

use admin
db.createUser({user:"chy",pwd:"abc",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

会提示创建成功。role指定账户角色(权限),db指定此账户管理的是哪个db。因为是roles:[],数组,所以可同时设置多个role。

如果是role中带有AnyDatabase,则可管理所有数据库。

如果role中不带AnyDatabase,则只能管理指定的db。

不管是哪种,这个账户只能进入指定的db。比如权限指定为"userAdminAnyDatabase",db指定为"admin",此账户只能通过数据库admin的验证,不能通过其他数据库的验证。要进入admin数据库后,在admin数据库中管理所有数据库。

"userAdminAnyDatabase"是管理所有数据库,可进行删除某个数据库之类的操作,是管理,并不能对某个数据库进行读写。

mongodb的内置role

1. 数据库用户角色:read、readWrite;

2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;

3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

4. 备份恢复角色:backup、restore;

5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

6. 超级用户角色:root  

7. 内部角色:__system

2、修改配置文件mongod.cfg,使用密码。

MongoDB 设置参数

我们看到默认是注释了的,不使用安全验证。

取消注释,修改如下:

MongoDB 设置参数

注意空格、缩进,authorization冒号后面有一个空格。

security:
  authorization: enabled

3、重启 MongoDB 服务。

4、

exit //先退出客户端

mongo

use admin

db.auth( " username " , " password " ) //验证密码。1表示通过验证,0表示不通过。

刚才创建的账户可进入所有db。可创建某个db的账户。

db.createUser({user:'chy1',pwd:'abc1',roles:[{role:'readWrite',db:'test'}]})

读写权限,此账户只能操作数据库test,且只能对test进行读写。

创建好之后就可以使用  mongodb://username:password@host[:port]/database  进行连接了(需要先  mongo  进入客户端 )。

注意:

  • MongoDB系统的最高权限是root,根权限
  • 某个数据库的最高权限是dbOwner,数据库所有者,可创建索引、进行读写等操作。
  • createUser()不一定要在admin数据库下操作,在其他数据库中操作也行。
  • 并不是用户名、密码正确就能通过验证,还要看role(账号权限)。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微服务设计

微服务设计

[英] Sam Newman / 崔力强、张 骏 / 人民邮电出版社 / 2016-5 / 69.00元

本书全面介绍了微服务的建模、集成、测试、部署和监控,通过一个虚构的公司讲解了如何建立微服务架构。主要内容包括认识微服务在保证系统设计与组织目标统一上的重要性,学会把服务集成到已有系统中,采用递增手段拆分单块大型应用,通过持续集成部署微服务,等等。一起来看看 《微服务设计》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具