在CentOS上设置MongoDB用户权限,需要遵循以下步骤:
首先,确保你已经在CentOS上安装了MongoDB。如果还没有安装,可以参考官方文档进行安装。
确保MongoDB服务已经启动:
sudo systemctl start mongod MongoDB 4.0及以上版本支持基于角色的访问控制(RBAC)。你需要创建一个管理员用户来管理数据库和用户权限。
mongo 在MongoDB shell中执行以下命令来创建一个管理员用户:
use admin db.createUser({ user: "admin", pwd: "your_password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }, { role: "dbAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" }, { role: "dbOwnerAnyDatabase", db: "admin" }] }) 将your_password替换为你想要设置的密码。
假设你要在mydatabase数据库中创建一个用户,并赋予该用户对mycollection集合的读写权限。
mongo use mydatabase db.createUser({ user: "myuser", pwd: "myuser_password", roles: [{ role: "readWrite", db: "mydatabase" }] }) 将myuser_password替换为你想要设置的密码。
你可以使用以下命令来验证用户的权限:
db.runCommand({ connectionStatus: 1 }) 确保MongoDB配置文件(通常是/etc/mongod.conf)中启用了认证:
security: authorization: enabled 然后重启MongoDB服务以应用更改:
sudo systemctl restart mongod 使用新创建的用户连接MongoDB:
mongo -u myuser -p myuser_password --authenticationDatabase admin 通过以上步骤,你就可以在CentOS上成功设置MongoDB用户权限。