MongoDB 3.6版本中bind_ip设置详解
2017年下半年新发布的MongoDB 3.6版本在安全性上做了很大提升,主要归结为两点:
1.将bind_ip 默认值修改为了localhost;
2. 在db.createUser()和 db.updateUser()中添加了authenticationRestrictions 参数,可以用来控制Client端发来的请求源IP以及请求的Server端指定IP。
以下说明和测试主要是针对第一点。
以前的版本默认Mongo服务启动后,使用Server IP 可以直接登入,但是3.6 已将服务启动bind_ip的默认值限定为localhost。
因此,即使在Local Server使用ServerIP登入也会报错。

<图1>
只能使用localhost登入

<图2>
修改方式,修改conf 配置文件,调整bind_ip参数,将本地IP赋予此参数。赋予后使用Server IP登入可以,但此时使用localhost 失败。为了同时兼容2种登入方式,将参数的赋值调整为:
bind_ip=localhost,172.XXX.XXX.XXX
中间使用登号隔开。
<图3>验证说明采用上述参数配置后2种登入方式都可以。

<图3>
说明:(1) 如果不想做IP限制,可以将bind_ip 赋值为0.0.0.0 或者 在配置文件中启用另外一个参数bind_ip_all,将其设置为true。
以上两种设置都可以满足localhost登入和指定ServerIP登入。 当指定bind_ip_all参数时,配置文件中可以没有bind_ip参数。
(2)登入默认的数据库不同。在3.6 版本,默认的连接数据库变成了test,而3.4/3.2 版本默认是admin库。所以,在设置具有root权限的管理员账号时,请先转至admin下操作(因为账号的查询,系统只有在admin才可以查询,所以root权限的账号,建议在admin库创建,用户数据库的账号,转到用户数据库下创建)。账号的删除一定要在归属库下删除。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
CentOS 7系统下SELinux阻止MongoDB启动的问题详解
这篇文章主要给大家介绍了关于CentOS 7系统下SELinux阻止MongoDB启动问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。2017-11-11
MongoDB系列教程(五):mongo语法和mysql语法对比学习
这篇文章主要介绍了MongoDB系列教程(五):mongo语法和mysql语法对比学习,本文对熟悉Mysql数据库的同学来说帮助很大,用对比的方式可以快速学习到MongoDB的命令,需要的朋友可以参考下2015-05-05
MongoDB的$sample、aggregate和$rand实现随机选取数据
在MongoDB中,我们可以使用内置的$sample聚合操作符来随机生成数据,$sample可以从集合文档中随机选择指定数量的文档,但由于其查询整个集合的性能问题,应该慎用,aggregate方法以及$rand函数的结合使用可以实现更加灵活的查询操作,并且可以对查询结果进行精细筛选2024-01-01
deepin 15.3 X64系统中安装mongodb的方法步骤
这篇文章主要跟大家分享了deepin 15.3 X64系统中安装mongodb的方法步骤,文中将安装步骤介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来跟着小编一起学习学习吧。2017-04-04


最新评论