问题现象
通过 ODP 连接 OceanBase 数据库或者直连 OBServer 时,连接失败并且报错 Access denied for user 'xxxx'@'xxxx' (using password: YES)。
问题原因
该问题只在 MySQL 模式下出现,首先判断 using password 为 YES,说明使用密码登录。出现该问题的原因可能如下。
- 账户错误:OceanBase 数据库在验证账户时,账户组成格式为
user@租户名#集群名或者user@租户名。 - 密码错误。
问题的风险及影响
连接 OceanBase 数据库失败。
影响版本
OceanBase 数据库 V2.2.77 版本。
解决方法及规避方式
确认集群、租户名称正确,然后通过 root 用户连接租户,执行如下 SQL 确认用户是否存在,查看对应集群和租户下是否存在对应用户(注意空格或者特殊字符的存在)。
obclient > select user,host from mysql.user确认用户存在后,很大可能为密码问题,此时可以考虑重置密码,关于修改密码,请参考 SET PASSWORD。