返回

Windows Server 2019 上 MongoDB 连接故障解决指南

windows

Windows Server 2019 上的 MongoDB 连接故障:MongoNetworkError

作为一名经验丰富的程序员,我经常遇到各种技术问题,其中之一就是连接到 Windows Server 2019 上的 MongoDB 服务器时出现的错误:"MongoNetworkError: connect ECONNREFUSED 172.18.44.22:27017"。

原因

此错误通常是由于防火墙阻止端口 27017(MongoDB 的默认端口)所致。此外,MongoDB 配置可能不正确,或者服务器可能不允许远程连接。

解决方案

1. 检查防火墙

  • 确保 Windows 防火墙未阻止传入和传出连接的端口 27017。

2. 启用 TCP/IP 侦听

  • 在 MongoDB 配置文件中(通常位于 C:\Program Files\MongoDB\Server\7.0\bin\mongod.cfg),将以下行设置为 true
    net:
      port: 27017
      bindIp: 127.0.0.1,0.0.0.0  # 允许从所有 IP 地址连接
      tcpNoDelay: true
    

3. 允许远程连接

  • 在 MongoDB 安全配置文件中(通常位于 C:\Program Files\MongoDB\Server\7.0\bin\mongod.conf),将以下行设置为 true
    security:
      authorization: enabled
      clusterAuthMode: x509
      keyFile: <path-to-mongodb.key>
    

4. 配置 Windows 10

  • 在 Windows 10 上,确保已安装 MongoDB 驱动程序。
  • 在连接字符串中,指定以下内容:
    connectionString = "mongodb://172.18.44.22:27017?ssl=true&authSource=admin&retryWrites=true&w=majority"
    

其他提示

  • 确保 MongoDB 服务在 Windows Server 2019 上运行。
  • 检查 MongoDB 日志以获取有关错误的更多信息。
  • 尝试使用 MongoDB Compass 等 GUI 工具进行连接。

常见问题解答

1. 我仍然收到 "MongoNetworkError" 错误,该怎么办?
检查服务器和客户端的防火墙设置。您还可以尝试重新安装 MongoDB 或重新启动服务器。

2. 我无法在 Windows Server 2019 上找到 "mongod.cfg" 文件。
该文件可能位于不同的位置。使用 Windows 搜索功能进行查找。

3. 我收到 "keyFile" 错误。
确保您已指定正确的 mongod.key 文件路径。您还可以尝试重新生成该文件。

4. 我无法连接到 Windows 10 计算机上的 MongoDB。
检查 Windows 10 计算机的防火墙设置。您还可以尝试使用不同的连接字符串或端口。

5. 我遇到其他问题,该怎么办?
请参考 MongoDB 官方文档或社区论坛寻求进一步的帮助。