Error number: MY-013707; Symbol: ER_AUDIT_LOG_FILE_PRUNE_FAILED; SQLSTATE: HY000
Message: Failed to auto-prune file ‘%s’, Error (%d): %s
错误说明
MY-013707(ER_AUDIT_LOG_FILE_PRUNE_FAILED) 是 MySQL 审计插件(audit_log plugin)中的一条错误讯息,出现这个错误代表 MySQL 无法执行审计日志文件的清理操作。
常见案例
MY-013707 可能是因为运行的操作系统句柄(handles)数量超出上限导致的,也可能是由于审计日志文件在清理过程中发生了意外情况,导致清理失败。
解决方法
排查系统句柄问题:首先应该确认系统句柄(handles)数量是否超出允许的上限,如有必要,可以根据系统和系统版本等不同情况修改允许的最大句柄值。
逐一排查审计日志文件:如果发现系统句柄数量未超出上限,我们就应该检查审计日志文件是否有存在损坏的情况。这可以通过在每个文件中添加审计开头(Audit Headers)来实现,并在发现审计日志文件损坏的情况下重新设置该文件,以确保MySQL的安全操作。
检查MySQL的audit_log目录权限:同时,我们也应该检查MySQL的audit_log目录是否有写入该文件所需要的权限,并确保该目录拥有必要的权限以确保正常运行。
最后,如果做了以上几步,但仍旧无法解决MY-013707错误,可以尝试升级MySQL版本,或者下载官方最新的MySQL插件,以解决此问题。