emqx服务的访问验证数据源经常莫名断开,重启后又恢复正常

我采用的是postgres数据库,emqx是连接的中间代理件pgpool做连数据库。

可能是个问题,你用的 emqx 版本是?

  • 你使用最新的 emqx 版本看看有没问题。
  • 检查一下 pgsql 是不是有一些 idle_timeout 之类的设置,把它们去掉不要断开试试看,

如果我的数据有主从切换也会出现这样的问题,数据源不可用,要重启emqx服务

emqx 版本号是?

目前的版本是: 5.0.20

1 个赞

升级到5.2.3后启动报错,我的是集群的,只能启动其中一个节点,别的节点启动就报错,错误如下图:

emqx 挂了,我没搞清楚为什么。但你可以不用试了。

如果你想用最新版,就用 5.3.2,全新安装,注意操作系统版本跟包的类型要一致。如果你想保持现在的版本也没关系。

数据源断开后,控制台显示重连,控制台重连成功后,客户端连接的数据源还是错错误的,要手动在控制台切禁用再开启用,或者重启emqx才的生效客户端连接验证数据源

哦哦 是个问题,我们已经安排修复了。你那边可以设置 pgsql 不要断开,暂时可以规避这种问题。

再问下,验证数据配置文件的配置格式是这样的吗?

是这样的:

authentication = [
  {
    backend = postgresql
    database = postgres
    mechanism = password_based
    password_hash_algorithm {name = sha256, salt_position = suffix}
    pool_size = 8
    query = "SELECT password_hash, salt FROM mqtt_user where username = ${username} LIMIT 1"
    server = "127.0.0.1:5432"
    ssl {enable = false, verify = verify_peer}
    username = postgres
  }
]

好的。谢谢!