Navicat连接GaussDB报错认证协议不支持
Navicat连接GaussDB报错认证协议不支持
- 报错及解释
- 问题解决
报错及解释
应用使用Navicat连接GaussDB收到下面的报错:
authentication method 10 not supported
⭐️ 官方文档解释:
- 数据库中存储的密码校验只存储了SHA256格式哈希,而开源客户端只识别MD5校验,双方校验方法不匹配报错。
- 数据库并不存储用户密码,只存储用户密码的哈希码。
- 当用户更新用户密码或者新建用户时,数据库会同时存储两种格式的哈希码,这时将兼容开源的认证协议。
- 当老版本数据库升级到新版本时,由于哈希的不可逆性,数据库无法还原用户密码,进而生成新格式的哈希,所以仍然只保留了SHA256格式的哈希,导致仍然无法使用MD5做口令认证。
- MD5加密算法安全性低,存在安全风险,建议使用更安全的加密算法。
数据库参数password_encryption_type
表示用户口令的加密方式。
- 0表示采用md5方式对密码加密(不推荐);
- 1表示采用sha256方式对密码加密(兼容postgres客户端的md5用户认证方式)