mongo中的认证数据库是什么意思
时间: 2023-09-29 15:06:31 浏览: 46
Mongo中的认证数据库是指用于存储和管理Mongo用户和角色的数据库。在启用Mongo认证后,用户必须提供有效的用户名和密码才能连接到Mongo数据库。默认情况下,Mongo的认证数据库为admin,但用户也可以使用其他数据库作为认证数据库。在认证数据库中,可以创建和删除用户、配置用户角色、授权用户访问特定数据库等。
相关问题
mongo将所有认证改为MONGODB-CR认证
在MongoDB中,可以使用MONGODB-CR身份验证机制对用户进行身份验证。如果您想将所有用户的身份验证机制从默认的SCRAM-SHA-1更改为MONGODB-CR,可以按照以下步骤操作:
1.首先,连接到MongoDB,并切换到admin数据库。
2.使用以下命令创建一个新的管理员用户并分配root角色:
```
db.createUser(
{
user: "admin",
pwd: "password",
roles: [ { role: "root", db: "admin" } ]
}
)
```
3.接下来,使用以下命令启用MONGODB-CR身份验证机制:
```
db.adminCommand({setParameter: 1, authenticationMechanisms: ["MONGODB-CR"]})
```
4.现在,使用以下命令更改每个用户的身份验证机制:
```
db.getUsers().forEach(function(user) {
db.runCommand({
updateUser: user.user,
pwd: user.pwd,
authenticationMechanisms: ["MONGODB-CR"]
});
});
```
这将使用MONGODB-CR身份验证机制更新每个用户的身份验证设置。
请注意,在MongoDB 4.0及更高版本中,MONGODB-CR身份验证机制已被弃用,并且不推荐使用。相反,建议使用更安全的SCRAM-SHA-1身份验证机制。
mongoshell
Mongo shell 是 MongoDB 提供的一种交互式命令行工具,它允许用户通过命令行界面与 MongoDB 数据库进行交互操作。用户可以使用 Mongo shell 来执行各种数据库操作,例如插入文档、查询数据、更新文档或者执行聚合操作等。
要启动 Mongo shell,可以在命令行中输入 "mongo" 命令,然后连接到 MongoDB 实例。连接时可以指定主机名、端口号、认证信息等参数,以便连接到正确的 MongoDB 服务器。一旦连接成功,你就可以开始在 Mongo shell 中执行各种 MongoDB 命令了。
Mongo shell 使用 JavaScript 语言作为其命令语言,所以你可以使用 JavaScript 语法来执行各种操作。例如,你可以使用以下命令插入一个文档到名为 "myCollection" 的集合中:
```
db.myCollection.insertOne({ name: "John", age: 30, city: "New York" })
```
这只是 Mongo shell 的一个简单示例,它还支持更多的功能和命令,如查询数据、更新数据、删除数据等等。如果你想了解更多关于 Mongo shell 的信息,你可以查阅 MongoDB 官方文档。