MongoServerError: Authentication failed.处理办法

1停止MongoDB服务:

bash 复制代码
systemctl stop mongod

2临时修改MongoDB配置,禁用认证:

bash 复制代码
vim /etc/mongdb.config
在配置文件中找到
security:
  authorization: disabled  # 临时关闭认证

3.重启MongoDB服务

bash 复制代码
# 重启MongoDB服务
sudo systemctl restart mongod

4.重新创建管理员用户:

bash 复制代码
mongosh --eval 'db.getSiblingDB("admin").createUser({user:"adminUser",pwd:"Admin@2025!#",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"}]})'

5.创建远程访问用户:

bash 复制代码
mongosh --eval 'db.getSiblingDB("admin").createUser({user:"remoteUser",pwd:"Remote@2025!#",roles:[{role:"readWrite",db:"yourdb"}]})'

6.重新启用安全认证:

bash 复制代码
vim /etc/mongdb.config
在配置文件中找到
security:
  authorization: enabled  # 开启认证```
7.重启MongoDB服务以应用新配置:
```bash
systemctl restart mongod

8验证新密码:

bash 复制代码
mongosh --eval 'db.getSiblingDB("admin").auth({user:"adminUser",pwd:"Admin@2025!#"})'

连接方式:

bash 复制代码
   # 管理员连接(本地或远程)
   mongosh --host <服务器IP> --port 27017 -u adminUser -p Admin@2025!# --authenticationDatabase admin

   # 远程用户连接
   mongosh --host <服务器IP> --port 27017 -u remoteUser -p Remote@2025!# --authenticationDatabase admin

连接字符串(用于应用程序):

text 复制代码
   # 管理员连接串
   mongodb://adminUser:Admin@2025!#@<服务器IP>:27017/admin?authSource=admin

   # 远程用户连接串
   mongodb://remoteUser:Remote@2025!#@<服务器IP>:27017/yourdb?authSource=admin
相关推荐
qq_371802113 天前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
且从容.4 天前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道4 天前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.4 天前
ubuntu安装flink
linux·ubuntu·flink
Linux-lucky5 天前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默5 天前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81635 天前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
David猪大卫6 天前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
且从容.6 天前
Ubuntu 安装 Docker
linux·ubuntu·docker
承渊政道7 天前
Linux网络学习【深入理解多路转接select、poll的代码改写】
linux·ubuntu·select·多路转接·poll