在CentOS上为MongoDB设置用户权限,需要遵循以下步骤:
-
首先,确保已经安装了MongoDB。如果尚未安装,请参考官方文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
-
启动MongoDB服务:
sudo systemctl start mongod
- 使用
mongo
命令连接到MongoDB shell:
mongo
- 创建一个新用户。在MongoDB shell中,切换到
admin
数据库,并使用createUser
命令创建一个新用户。例如,创建一个名为myUser
的用户,密码为myPassword
,并具有readWrite
权限:
use admin db.createUser({ user: "myUser", pwd: "myPassword", roles: [{ role: "readWrite", db: "myDatabase" }] })
-
为新用户分配权限。在上面的示例中,我们已经为用户
myUser
分配了readWrite
权限,这意味着该用户可以对myDatabase
数据库执行读写操作。你可以根据需要为用户分配其他角色和权限。有关详细信息,请参阅官方文档:https://docs.mongodb.com/manual/reference/built-in-roles/ -
退出MongoDB shell:
exit
- 重新启动MongoDB服务以使更改生效:
sudo systemctl restart mongod
现在,新创建的用户myUser
可以使用其凭据连接到MongoDB,并根据分配的权限执行操作。使用以下命令连接到MongoDB:
mongo -u myUser -p myPassword --authenticationDatabase admin
请注意,如果要对远程连接进行身份验证,还需要在/etc/mongod.conf
文件中配置bindIp
选项,以允许来自其他IP地址的连接。例如,要允许所有IP地址连接,请将bindIp
设置为0.0.0.0
。然后重新启动MongoDB服务以使更改生效。