本例子是在CentOS 7 上为 MongoDB 4.4环境下进行操作
// 切换到 admin 数据库
use admin
// 创建用户并赋予全局管理员权限,将pwd 替换为强密码
db.createUser({
user: "admin",
pwd: "YourAdminPassword",
roles: [{ role: "root", db: "admin" }]
})
关键说明: root 角色拥有所有数据库的完全控制权(包括关闭数据库)。 先创建用户再启用认证,否则将无法操作数据库
编辑配置文件:
sudo vi /etc/mongod.conf
修改以下部分:
security:
authorization: enabled # 启用认证
重启服务生效:
sudo systemctl restart mongod
以管理员身份重新登录:
mongo -u admin -p YourAdminPassword --authenticationDatabase admin
在 Shell 中创建新数据库和用户:
// 创建或切换到应用数据库(首次使用即创建)
use myappdb
// 创建用户 赋予读写及数据库管理权限
db.createUser({
user: "appuser",
pwd: "AppUserPassword",
roles: ["readWrite", "dbAdmin"]
})
>权限说明: >readWrite:允许增删改查数据。 >dbAdmin:可管理索引、统计等,但不能管理用户。 >需为每个业务数据库单独创建用户。
使用 mongodump -u appuser -p AppUserPassword --authenticationDatabase myappdb
备份数据。
本文由 systemofdown 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。