Ubuntu20.0下MongoDB5.0.2启用安全后终端带认证连接失败如何解决
MongoDB本地连接失败排查方案
你遇到的Connection refused报错与你配置的安全认证无关,该错误表示客户端未和MongoDB服务端成功建立网络连接,无需先排查用户名密码配置问题,按以下步骤排查即可:
排查步骤
第一步:确认MongoDB服务运行状态
执行命令:systemctl status mongod
如果输出服务状态为inactive或failed,说明服务未正常启动,执行systemctl start mongod启动服务即可。如果启动失败,执行journalctl -u mongod -n 50查看最近50条服务日志,排查启动失败原因,常见原因包括配置文件语法错误、数据目录/日志目录权限不足、端口被占用等。第二步:检查MongoDB监听配置
打开MongoDB配置文件:/etc/mongod.conf
找到net配置段,确认两个核心参数:port:确认端口配置为27017,如果修改过默认端口,连接时需要指定对应端口bindIp:确认配置包含127.0.0.1或0.0.0.0,如果仅配置为公网IP未包含本地回环地址,本地就无法通过127.0.0.1/localhost连接。
修改完配置后需要执行systemctl restart mongod生效。
第三步:确认27017端口监听状态
执行命令:ss -tulnp | grep 27017
如果没有输出结果,说明MongoDB未正常监听27017端口,回到第二步重新检查配置。如果有输出,确认监听地址包含127.0.0.1:27017或0.0.0.0:27017。第四步:修正连接命令格式
你当前使用的连接命令存在两处可优化点:- 长参数需要使用双横杠,
-host应改为--host,短参数可使用-h - MongoDB 5.0开始官方默认提供的shell工具为
mongosh,如果你的系统中仅安装了新版服务端未安装旧版mongo工具,可替换为mongosh命令连接,示例:mongosh admin -u ADMIN_1234 -p PASSWORD_1234 --host localhost:27017
- 长参数需要使用双横杠,
内容的提问来源于stack exchange,提问作者sahil khaire
相关产品推荐
相关产品推荐

