首先确认MongoDB服务是否正在运行,使用以下命令查看状态:
sudo systemctl status mongod
如果服务未启动,启动它并设置开机自启:
sudo systemctl start mongod
sudo systemctl enable mongod
服务启动失败时,需进一步查看日志排查原因(参考步骤6)。
MongoDB的主配置文件为/etc/mongod.conf,需重点检查以下配置项:
net.bindIp:确保绑定IP允许连接(本地测试可设为127.0.0.1,远程连接需设为0.0.0.0);net.port:确认端口为默认的27017(若修改需同步调整防火墙规则);security.authorization:若启用认证(推荐),需设置为enabled。sudo systemctl restart mongod
```。  
### **3. 检查防火墙设置**  
Debian默认使用`ufw`防火墙,需允许MongoDB端口(27017)的流量:  
```bash
sudo ufw allow 27017/tcp
sudo ufw reload
若使用iptables,添加规则并保存:
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4
```。  
### **4. 测试网络连通性**  
使用`ping`命令检查客户端与MongoDB服务器的网络连通性:  
```bash
ping <MongoDB服务器IP>
使用telnet或nc测试端口是否开放:
telnet <MongoDB服务器IP> 27017
# 或
nc -zv <MongoDB服务器IP> 27017
若无法连接,需排查网络配置(如路由、云服务商安全组)。
日志文件通常位于/var/log/mongodb/mongod.log,使用以下命令查看实时日志:
sudo tail -f /var/log/mongodb/mongod.log
日志中会记录连接失败的详细原因(如认证失败、端口冲突、数据目录权限问题),是排查问题的关键线索。
若启用了认证,连接时需提供正确的用户名、密码及认证数据库(通常为admin):
mongo -u <用户名> -p <密码> --authenticationDatabase admin
若未创建用户,需先登录MongoDB创建管理员账户:
use admin
db.createUser({
  user: "admin",
  pwd: "your_password",
  roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})
创建后重启MongoDB服务使认证生效:
sudo systemctl restart mongod
```。  
### **7. 检查数据目录权限**  
MongoDB的数据目录(默认为`/var/lib/mongodb`)需由`mongodb`用户拥有读写权限:  
```bash
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chmod -R 755 /var/lib/mongodb
权限不足会导致服务无法启动或写入失败。
若使用编程语言连接MongoDB,确保驱动程序版本与MongoDB服务器版本兼容(如MongoDB 6.0需对应驱动程序3.6+)。可通过官方文档或包管理器更新驱动。