Error number: MY-013917; Symbol: ER_COMPONENT_EE_FUNCTION_REGISTRATION_FAILURE; SQLSTATE: HY000
Message: Cannot register function ‘%s’. Please check if it is not already registered.
错误说明
MySQL错误MY-013917,其中的SQLSTATE被编码为HY000,该错误表明在运行时工作(RTE)组件中存在某种问题。 RTE是MySQL引擎,其中使用核心功能实现各种功能,包括加密,数据导入和导出,分页功能等。 MY-013917是一个致命错误,表明RTE组件无法注册内部功能,并要求MySQL服务器立即停止。
常见案例
此错误最常见的情况之一是内部错误,例如跟踪变量的输入类型,内部函数编码到调用的错误,或者由于延迟调用某些函数导致的错误。与RTE密切相关的错误可能包括编译时无效的错误,例如括号不匹配,无效函数,变量没有定义,编译功能(such as syntax errors)。一旦MySQL服务器发现这些潜在的错误,它将停止运行并显示此错误(MY-013917)。
解决方法
故障排除MY-013917错误的第一步是创建MySQL实例备份。通常,此错误与组件有关,因此您将需要单独处理组件或引擎,以便正常地运行MySQL服务器和其他相关功能。
例如,诸如Replication和Percona等第三方组件会引用和调用RTE函数,因此检查组件设置是有故障排除此问题的常见步骤。检查它们的权限,使用的功能,以及它们的调用方式是解决问题的一种有用方法。
此外,即使没有明确的技术原因,也可以尝试重启MySQL服务器,可能会清除某种“积压”并解决此问题。
在不同的系统上,此错误可能会发生在不同的情况下,或者没有错误信息提示,而是简单地停止MySQL服务器,因此在故障排除某种情况时,可以尝试使用调试模式来激活记录此问题的更多传出消息。此外,由于在故障排除以及MySQL服务器本身之间常见的问题,建议检查并确保Operating System和MySQL Server版本是支持的,因为MySQL可能无法正常工作,或者不再支持受支持的OS版本。