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
相关推荐
程序员-King.3 小时前
【ROS1】Noetic 开发工作流程与常用命令
c++·ubuntu·ros
承渊政道7 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
pirateeee13 小时前
在ubuntu中通过 docker 搭建 yocto 开发环境
ubuntu·docker·eureka
缘友一世13 小时前
GLM5.3 CyberSec w4A16本地部署[5]:卸载换显存的边界
ubuntu·vllm·glm5.3 cybersec
bjxiaxueliang1 天前
一文自建STUN:在Ubuntu上分步搭建STUN服务
linux·运维·ubuntu
陈让然1 天前
Ubuntu Podman 容器镜像构建
linux·ubuntu
Techblog of HaoWANG1 天前
Ubuntu 下将 Ollama 服务配置为监听 0.0.0.0:11434 完整实践
linux·数据库·ubuntu·ollama
张文君1 天前
ubuntu iscsi客户端 关闭磁盘
linux·运维·ubuntu
阿星_2 天前
Linux Ubuntu 查看 SQLite 工具
linux·ubuntu·sqlite
张文君2 天前
Ubuntu iSCSI CHAP认证与Win11挂载
linux·运维·ubuntu