如果你忘记了 MongoDB 的用户名和密码,可以按照以下步骤重置它们。需要注意的是,这些步骤可能需要对 MongoDB 服务器有管理员权限或对服务器本身有访问权限。
方法一:使用 MongoDB 的管理工具停止 MongoDB 服务:
在 Linux 上:sudo systemctl stop mongod在 Windows 上,可以通过服务管理器(services.msc)停止 MongoDB 服务。
启动 MongoDB 进入无验证模式:
在终端或命令提示符中输入以下命令,启动 MongoDB 不进行身份验证:mongod --dbpath /var/lib/mongodb --bind_ip 127.0.0.1 --port 27017 --auth=false其中 --dbpath 是你的 MongoDB 数据库路径,可能需要根据实际情况进行调整。
连接到 MongoDB:
打开另一个终端或命令提示符窗口,输入以下命令连接到 MongoDB:mongo --port 27017
修改用户名和密码:
选择你要修改的数据库(例如 admin 数据库):use admin更新用户的密码:
db.updateUser("yourUsername", { pwd: passwordPrompt() })或者:
db.updateUser("yourUsername", { pwd: "newPassword" })如果你想创建一个新用户,可以使用以下命令:
db.createUser({ user: "newUsername", pwd: "newPassword", roles: [ { role: "root", db: "admin" } ] })
停止 MongoDB 并重新启动:
停止无验证模式下的 MongoDB 实例:sudo systemctl stop mongod重新启动 MongoDB 服务:
sudo systemctl start mongod方法二:通过配置文件禁用身份验证
找到 MongoDB 配置文件:
通常在 /etc/mongod.conf(Linux)或 C:\Program Files\MongoDB\Server\<version>\bin\mongod.cfg(Windows)中。编辑配置文件:
找到并注释掉或移除 security.authorization 配置项,或将其设置为 disabled:#security: # authorization: enabled
重启 MongoDB 服务:
在 Linux 上:sudo systemctl restart mongod在 Windows 上,可以通过服务管理器(services.msc)重启 MongoDB 服务。
按照方法一中第 3 步和第 4 步的命令进行操作,然后恢复配置文件并重启 MongoDB 服务。
总结重置 MongoDB 用户名和密码通常需要对服务器有管理员权限或直接访问服务器。以上两种方法提供了在忘记用户名和密码的情况下,如何禁用身份验证、重置凭据,然后恢复安全设置的步骤。请注意在实际操作中保护好你的数据库安全。
网友回复