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
相关推荐
鬼才血脉2 小时前
Ubuntu上安装MySQL 8并配置Navicat远程连接
mysql·ubuntu·adb
Estrella-q4 小时前
解决 Ubuntu DNS 无法解析问题(适用于虚拟机 & 长期使用)
数据库·ubuntu·postgresql
烦躁的大鼻嘎8 小时前
【Linux】深入拆解Ext文件系统:从磁盘物理结构到Linux文件管理
linux·运维·服务器·ubuntu·centos
YoungHong19928 小时前
Ubuntu通过源码编译方式单独安装python3.12
linux·运维·python·ubuntu
虎头金猫14 小时前
如何解决 403 错误:请求被拒绝,无法连接到服务器
运维·服务器·python·ubuntu·chatgpt·centos·bug
dqsh0617 小时前
树莓派5+Ubuntu24.04 LTS串口通信 保姆级教程
人工智能·python·物联网·ubuntu·机器人
leo·Thomas19 小时前
NetBox Docker 全功能部署方案(Ubuntu 22.04 + Docker)
运维·ubuntu·docker·容器·资产管理
高峰聚焦1 天前
【Ubuntu】Netplan静态网络配置
linux·运维·ubuntu
冯一川1 天前
Arm核的Ubuntu系统上安装Wireshark
linux·ubuntu·wireshark
Jerry&Louis1 天前
【Ubuntu】fcitx5 + Rime(中州韵)好用的Linux中文输入法
linux·ubuntu