如果你还没有安装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实例中,管理(新增、删除、修改)所有数据库用户的权限.
输入以下指令退出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读和写的权限
连接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数据库不会被入侵导致数据丢失