客户端认证MongoDB无法连接

现在error信息和之前不一样了,所以那个参数还是起作用的

不是你这~需要啥配置,检查问题还需要我给你买个测试的db?

现在是什么问题呢?看错误,集合都有

刚才又看了一下日志,error信息没有变,数据不存在的那个错误是mysql client报错的,和mongodb没有关系,所以还是和您的MongoDB环境有关系,如果方便的话就把全部的配置文件发出来吧,我们可以帮忙检查一下配置文件是否有问题,如果您是企业版客户的话也可以联系我们的售后团队协助排查。

您说的这个全部配置,是我们MongoDB的配置吗?
我们MongoDB使用的是腾讯云的集群MongoDB,版本是4.4 的
安装你们的emqx版本是5.0.26的,您需要什么配置?数据库连接?还是?

需要看一下emqx的完整配置文件

另外5.0.26版本太旧了,建议升级到最新的版本,而且即使我们的mongodb的客户端和腾讯云的mongodb不兼容,我们修复的话也会在最新的EMQX版本上面



这个


这个日志是我用docker安装你们最新版本连接腾讯云的失败日志

还有一个其他问题,就是emqx如果连上MongoDB后是保持长连接的吗?要是中间没有断开过

失败原因是connect failed,所以还是连接有问题,建议在emqx节点上安装一个mongodb的客户端看看能不能连接成功,另外整个回复中都没有看到emqx的配置文件,无法判断配置是否有问题,配置文件的路径为 /opt/emqx/data/configs/cluster.hocon

配置给你了

配置里面mongo_type是single,需要确认一下是否和mongodb的部署方式一致,use_legacy_protocol 是 false,如果mongodb真的是4.4版本的话这个配置也是有问题的。不过最先还是要确定emqx的机器和mongo集群之间网络的连通性:

  1. 在emqx节点上 telnet mongodb 服务的ip和端口
  2. 在emqx节点上用mongo client 连接mongodb 的地址看是否成功
    不确定网络连通性之前做任何事情都是在浪费大家的时间

不好意思啊,刚把类型改了试试能不能连上的

地址啥的都能通的,但是还是连不上呢

网络肯定是通的,节点上都是用的自己内部地址连接,我们其它服务都连接成功的,就emqx连接失败,帮忙看看

你们这个要是连接上了,是持久化连接吗?