MySQL Error number: MY-013814; Symbol: ER_AUTHENTICATION_OCI_NO_MATCHING_GROUPS; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-013814; Symbol: ER_AUTHENTICATION_OCI_NO_MATCHING_GROUPS; SQLSTATE: HY000
Message: None of the groups returned by IAM matches any of the entries from authentication string.
错误说明:
MySQL错误 MY-013814(ER_AUTHENTICATION_OCI_NO_MATCHING_GROUPS)指的是MySQL无法找到OCI组关系来处理OCI身份验证请求。
常见案例
当MySQL配置用于OCI身份验证时,即使用户拥有所需的合法Oracle系统标识,也可以导致产生这个错误。 这通常发生在从原始MySQL实例升级为Oracle RDS实例时,因为可能会重新安排用户组成员关系。
解决方法:
这个MySQL错误要求用户保持OCI组关系匹配MySQL文件中已定义的一致。 因此,可以通过改变Oracle中组的名称,与MySQL文件中的组名称(现有组名称或是要使用的新组)匹配,来解决此错误。
除此之外,也可以调整MySQL文件以适应当前存在于Oracle中的组。 为此,在MySQL文件中,可以使用以下语法以添加新用户组以及必要的用户::`GRANT CREATE USER ON *.* TO ’user1’@’ip’ IDENTIFIED WITH oci; GRANT CREATE GROUP ON *.* TO ’user1’@’ip’ IDENTIFIED WITH oci; CREATE USER ‘user2’@‘ip’ IDENTIFIED WITH OCI; CREATE GROUP ‘user2’@‘ip’ IDENTIFIED WITH OCI;`,
此外,也可以使用’DROP USER’命令从MySQL文件中删除用户,而不影响Oracle数据库中的设置。
在执行上述解决方法之前,建议先备份MySQL文件,而不是在没有备份的情况下直接执行修改操作。 将新的MySQL文件导入MySQL服务器后,可以继续使用正常身份验证进行登录,解决这个错误。 如果仍然无法解决,则可能需要将MySQL服务器恢复回上一个状态,例如,使用一个备份来恢复数据库的状态。