谨以此记录一下自己学习中的一些心得。
为什么要设置MongoDB的用户权限?
MongoDB是一个非关系型数据库,它具有灵活的数据模型和高可扩展性。在开发和管理MongoDB数据库时,我们通常会涉及到设置用户权限的任务。
用户权限的设置可以帮助我们确保数据的安全性,限制对数据库的访问和操作。
如何设置MongoDB的用户权限?
接上一节安装与配置MongoDB的内容,其实细心的小伙伴可以发现,在我们使用Navicat连接MongoDB的时候在验证那里我们并没有去修改而是使用默认的None选项,那是因为我们在配置MongoDB的核心文件 mongodb.conf 的时候并没有去启用用户的账号权限,接下来我就带领大家来设置一下这个用户权限。
因为我们之前启动了MongoDB的服务,所以我们先要将之前的服务给停掉。可以使用下面的命令查询:
ps -ef | grep mongodb
可以查询到服务的进程号
#使用下面两个其中一个都可以关闭进程
kill -2 进程号
kill -9 进程号
服务关闭之后,可以再次查询服务是否还在运行。
复制下面这段代码,重新修改mongo.conf
#端口号
port = 27017
#数据库文件位置
dbpath = /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.4.26/data/db
#日志文件位置
logpath = /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.4.26/data/log
# 以追加方式写入日志
logappend=true
# 是否以守护进程方式运行
fork = true
#过滤掉无用的日志信息
quiet = true
#最大同时连接数
maxConns = 100
#启用用户账号权限
auth = true
#不启用用户账号权限
#noauth = true
#开启日志,默认为true
journal = true
#提供外网访问,不对ip进行绑定,原理同redis的bindip
bind_ip = 0.0.0.0
配置完环境变量后记得使用 source /etc/profile 命令刷新一下。
重新启动服务。
#启动服务命令
mongod -f /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.4.26/mongodb.conf
在启动服务之后呢,我们输入 mongo 命令进入MongoDB基于linux的客户端
进来之后就是这个样子
输入 use admin 进入数据库管理
输入下面的命令创建一个新用户
db.createUser({user:"root",pwd:"root",roles:["root"]})
其中user代表着用户名,可以自行修改
pwd代表着密码,也是可以自行修改的
roles代表着这个账户的权限,这里给到的是最高的权限root
这样用户就创建成功了!
#可以使用命令去登录测试一下,输入自己的账号密码,回车后显示1就说明登录成功了!
db.auth("root","root")
#登录之后,可以使用下面的命令查看自己的账号信息
show users
在账号创建成功之后呢,我们就可以回到Navicat去进行一个连接。
最后输入用户名和密码就可以连接成功啦!