mongoDB 设置外网连接

2019-07-23  本文已影响0人  山高路远_海深不蓝

环境清单

相关文件位置

/etc/mongod.conf

/var/log/mongodb/mongod.log

/tmp/mongodb-27017.sock

设置单个root用户

> mongo
> use admin
> db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})

验证 > db.auth("admin", "123456")

打开配置文件 # vi /etc/mongod.conf

添加:

security:
  authorization: enabled

退出mongoDB > exit

重启服务 # sudo service mongod start

如果出现失败,删除sock文件后再次重启: # rm -f /tmp/mongodb-27017.sock

开放端口

此处防火墙已开启,没有开启的先开启防火墙
CentOS7 防火墙设置

控制台>点击主机>安全>防火墙>添加规则>自定义 TCP 27017>

连接数据库

工具使用的是Robo 3T

file>connet>create>connection

image.png

Authentication

image.png

为指定的数据库设置用户

> mongo
> use admin
> db.auth("admin", '123456')
> db.createUser( {user: "test",pwd: "123456",roles: [ { role: "read", db: "数据库名称" } ]})

注意几点:

mongoDB 用户角色

这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

其中MongoDB默认是没有开启用户认证的,也就是说游客也拥有超级管理员的权限。userAdminAnyDatabase:有分配角色和用户的权限,但没有查写的权限

上一篇 下一篇

猜你喜欢

热点阅读