mongodb4.0开启用户密码登录

如果你还没有安装mongodb,请移步至该文章:mongodb4.0安装,安装后再观看本文

本教程环境

centos 7.5 64位版本

前期准备

请确保你的mongodb已经启动,输入以下指令查看mongodb启动状态

sudo service mongod status
复制代码

如果状态为active(running),则证明启动成功!

如果未启动,请使用以下命令启动服务

sudo service mongod start
复制代码

开始添加用户

首先输入以下指令,进入mongodb数据库

mongo
复制代码

如下图所示:

接着,我们切换到 admin数据库

use admin
复制代码

下面我们输入以下指令创建一个admin用户,其中密码为abc123,请按照自己的需求自行修改用户名密码

db.createUser(
  {
    user: "admin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)
复制代码

密码建议使用密码生成器生成随机的安全密码,以增强数据库的安全性

其中的userAdminAnyDatabase角色赋予了admin账户在该mongodb实例中,管理(新增、删除、修改)所有数据库用户的权限.

点击此处了解更多userAdminAnyDatabase角色的信息

输入以下指令退出mongodb

exit
复制代码

开启数据库身份校验

输入以下指令,编辑mongodb的配置文件

vim /etc/mongod.conf
复制代码

在配置文件中,我们添加以下的内容

security:
    authorization: enabled
复制代码

接下来,我们重启mongodb,生效我们刚刚的配置

sudo service mongod restart
复制代码

添加单个数据库的用户权限

首先我们先输入mongo进入数据库,之后我们使用use admin切换至admin数据库,然后我们使用admin账户校验身份,这样我们就可以为其它的数据库添加新用户了。

mongo
use admin
db.auth("admin", "abc123")
复制代码

接下来我们创建并使用一个名为test的测试数据库,并为其创建一个名为testUser,密码为test123的用户

use test
db.createUser(
  {
    user: "testUser",
    pwd: "test123",
    roles: [ { role: "dbOwner", db: "test" } ]
  }
)
复制代码

我们为testUser用户赋予了dbOwner权限,保证testUser用户有操作所有collection读和写的权限

点击此处了解更多dbOwner角色的信息

连接mongodb

接下来我们可以使用以下的字符串来连接我们上面例子中创建的mongodb数据库,它的数据库名为test,用户名为testUser,密码为test123

mongodb://testUser:test123@localhost/test
复制代码

您可以按照您的实际情况进行调整

修改bindIp使远程端可以访问

mongodb默认情况下是只允许本地端口,也就是127.0.0.1访问,如果我们希望别的机器也可以访问,此时我们需要修改配置文件,来允许别的机器访问 输入以下指令编辑配置文件

vim /etc/mongod.conf
复制代码

我们将默认的127.0.0.1端口,修改为如下图所示的0.0.0.0,此种情况下允许所有机器访问次mongodb实例

⚠️⚠️⚠️⚠️警告⚠️⚠️⚠️⚠️

请一定注意如果开启0.0.0.0允许所有机器访问时,请在你的防火墙内设置仅允许你特定ip的机器访问,如果是云主机,可以在你的网络安全组中配置27107端口的ip访问限制,这样可以加强安全性,保证你的mongodb数据库不会被入侵导致数据丢失

转载于:https://juejin.im/post/5cb601f6f265da03b44608a6

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值