如何解决“mongodb not authorized on yunchong to execute command”
1. 问题描述
首先,我们来解释一下问题的背景。当您在使用 MongoDB 数据库时,可能会遇到以下错误信息:“mongodb not authorized on yunchong to execute command”。这个错误通常发生在您尝试执行一个需要授权的操作时,但是您没有相应的权限。
2. 解决步骤
为了解决这个问题,您需要按照以下步骤进行操作。下面的表格将展示每个步骤及其相应的操作。
gantt
title 解决“mongodb not authorized on yunchong to execute command”问题的流程
section 解决步骤
创建用户: done, 2022-07-01, 1d
授权用户: done, after 创建用户, 1d
重启数据库: done, after 授权用户, 1d
2.1 创建用户
第一步是创建一个具有所需权限的用户。您可以使用以下代码在 MongoDB 中创建用户:
// 创建用户
use admin
db.createUser(
{
user: "<username>",
pwd: "<password>",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
代码解释:
use admin
:使用 admin 数据库来创建用户。db.createUser()
:创建用户的方法。user
:您要创建的用户名。pwd
:您要为用户设置的密码。roles
:用户的角色和数据库。
2.2 授权用户
第二步是为刚创建的用户授予适当的权限。您可以使用以下代码在 MongoDB 中为用户授权:
// 授权用户
use yunchong
db.grantRolesToUser("<username>", [ { role: "<role>", db: "<database>" } ])
代码解释:
use yunchong
:使用 yunchong 数据库来授权用户。db.grantRolesToUser()
:授权用户的方法。username
:您刚创建的用户名。role
:您要授予的角色,例如readWrite
或dbAdmin
。database
:您要授权的数据库。
2.3 重启数据库
最后一步是重启 MongoDB 数据库,以使更改生效。您可以使用以下代码来重启数据库:
// 重启数据库
sudo service mongod restart
代码解释:
sudo service mongod restart
:重启 MongoDB 服务。
3. 总结
通过按照上述步骤,您应该能够成功解决“mongodb not authorized on yunchong to execute command”的问题。首先,您需要创建一个具有适当权限的用户,然后为该用户授权,最后重启数据库以使更改生效。
希望本文对您有所帮助!如果您有任何其他问题,请随时提问。