如果你还没有安装mongodb,请移步至该文章:mongodb4.0安装,安装后再观看本文
本教程环境
centos 7.5 64位版本
前期准备
请确保你的mongodb已经启动,输入以下指令查看mongodb启动状态
sudo service mongod status
如果未启动,请使用以下命令启动服务
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数据库不会被入侵导致数据丢失