Error number: MY-013816; Symbol: ER_AUTHENTICATION_OCI_NONCE; SQLSTATE: HY000
Message: Received OpenSSL error: %s while authenticating user %s with fingerprint %s in tenancy %s .
:
错误说明
MySQL错误号MY-013816,符号为ER_AUTHENTICATION_OCI_NONCE,SQLSTATE为HY000。它指出发生了一个Oracle MySQL凭证验证错误,用于OCI权限代理识别用户时出现了一些问题。使用OCI权限代理时,MySQL服务器将要求发送令牌,但是服务器提供的令牌不正确。这就是客户端表示了不正确的令牌所导致的,这可能是由于不正确的凭证或请求错误而导致的。
常见案例
通常情况下,此错误可能当用户尝试使用OCI权限代理登录时发生。OCI权限代理是一种允许使用OCI API将客户端身份验证信息发送到MySQL服务器的机制。此时,服务器将要求客户端发送一个有效的令牌。然而,如果客户端不正确的凭证或错误地发送令牌,则可能导致该错误。
解决方法
要解决MySQL错误MY-013816,首先应确认当前OCI权限代理使用的用户凭据是否有效。如果没有,则必须确保将正确的凭证提供给OCI权限代理来排除此错误。此外,可以确保正确发送令牌来排除此错误,因为令牌是OCI权限代理使用过程中不可或缺的。当确认用户凭据和令牌无误时,再查看MySQL服务器是否正确配置以使用OCI权限代理,确保以下两个参数设置为正确的值:
* plugin_load:指定OCI权限代理插件
* oci_auth_external_principal_name:指定OCI用户凭证,或者每种凭证真实值
如果只是想禁用OCI权限代理,则应将上述值设置为none即可。最后,对MySQL服务器进行重新启动以实施任何更改时,也可以消除此错误。