在 MongoDB 5 中创建新用户和数据库
在 MongoDB 5 中创建新数据库和用户的过程如下:
1. 连接到 MongoDB 服务器
首先使用 MongoDB shell 连接到服务器:
mongo
或者如果需要进行认证连接:
mongo -u admin -p --authenticationDatabase admin
2. 创建新数据库
MongoDB 会在你第一次向数据库存储数据时自动创建数据库。要"创建"一个新数据库,只需切换到它:
use myNewDatabase
3. 创建用户
在创建用户之前,确保你已使用有管理员权限的账户登录。
创建管理员用户(可选)
use admin
db.createUser({
user: "adminUser",
pwd: "securePassword", // 替换为强密码
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" }
]
})
为特定数据库创建用户
use myNewDatabase
db.createUser({
user: "dbUser",
pwd: "userPassword", // 替换为强密码
roles: [
{ role: "readWrite", db: "myNewDatabase" },
{ role: "dbAdmin", db: "myNewDatabase" }
]
})
4. 常用角色说明
read
: 只读权限readWrite
: 读写权限dbAdmin
: 数据库管理权限userAdmin
: 用户管理权限clusterAdmin
: 集群管理权限(仅admin数据库)dbOwner
: 数据库所有者(包含readWrite、dbAdmin和userAdmin角色)
5. 验证用户创建
db.getUsers()
6. 启用认证(如果尚未启用)
要使用这些用户,需要在 MongoDB 配置文件中启用认证:
- 编辑配置文件(通常位于
/etc/mongod.conf
) - 添加或修改以下行:
security:
authorization: enabled - 重启 MongoDB 服务:
sudo systemctl restart mongod
7. 使用新用户连接
mongo -u dbUser -p userPassword --authenticationDatabase myNewDatabase
注意事项
- MongoDB 5 加强了安全性,建议总是使用强密码
- 生产环境中不应使用默认端口和未加密的连接
- 考虑设置适当的网络访问控制
- 定期轮换密码和审计用户权限
希望这些信息对你有帮助!如需更详细的权限配置,可以参考 MongoDB 5 的官方文档。