在 MongoDB 中设置访问用户名和密码可以通过以下步骤实现:
1. 启用身份验证
首先,需要在 MongoDB 配置文件 mongod.conf
中启用身份验证。
-
找到
mongod.conf
配置文件,路径通常为/etc/mongod.conf
(Linux)或C:\Program Files\MongoDB\Server\{版本号}\bin\mongod.cfg
(Windows)。 -
找到以下部分,并将
security.authorization
设置为enabled
:yaml
security: authorization: enabled
-
保存并重新启动 MongoDB 服务,以启用身份验证。
2. 创建管理员用户
在 MongoDB Shell 中使用以下命令创建管理员用户。管理员用户将拥有对数据库的所有权限。
-
打开 MongoDB Shell,连接到 MongoDB 实例:
mongo
-
选择
admin
数据库:use admin
-
创建管理员用户,用户名为
admin
,密码为password
:db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
-
完成后,使用
exit
退出 MongoDB Shell。
3. 为特定数据库创建用户
可以为特定数据库(例如 mydatabase
)创建用户:
-
重新连接 MongoDB,并切换到目标数据库:
mongo -u "admin" -p "password" --authenticationDatabase "admin" use mydatabase
-
创建数据库用户:
db.createUser({ user: "myuser", pwd: "mypassword", roles: [{ role: "readWrite", db: "mydatabase" }] })
-
此用户将具有对
mydatabase
的读写权限。
4. 使用用户名和密码连接 MongoDB
启用身份验证并创建用户后,可以通过以下方式连接 MongoDB:
mongo -u "用户名" -p "密码" --authenticationDatabase "admin"
例如:
mongo -u "admin" -p "password" --authenticationDatabase "admin"