Error number: MY-012883; Symbol: ER_IB_MSG_1058; SQLSTATE: HY000
Message: os_file_get_status() failed on ‘%s’. Can’t determine file permissions.
错误说明
MySQL错误编号MY-012883,它启用了InnoDB引擎,且该错误由ER_IB_MSG_1058符号确定,由SQLSTATE:HY000错误代码提供。 此错误表明在启用InnoDB存储引擎时发生了错误。 此错误的主要原因是InnoDB无法安排线程池任务或启动访问线程,或者是把版本信息从系统表中提取出到字典缓存中失败。
常见案例
在InnoDB存储引擎的使用中,经常会遇到此类错误。 因为此错误不止出现在MySQL服务器上,即使没有InnoDB存储引擎,它也可能会导致系统表错误和字典缓存错误。 这些系统表错误和字典缓存错误很难调试。 并且MySQL服务器可能会遇到其他错误而发生错误,这可能是一些更复杂的问题。
解决方法
当MySQL遇到此类错误时,最重要的是要了解MySQL执行哪一类操作时发生了这个错误。 要执行此步骤,可以检查MySQL服务器的error log文件,以查看有关MySQL做了什么和产生了什么错误的更多信息。 要检查服务器的错误日志,请运行以下命令: SHOW GLOBAL VARIABLES LIKE 'LOG_ERROR’; 如果MySQL服务器的error log文件未打开,请先打开它以便收集有关error的更多信息。 接下来要解决此错误,请做以下几件事:
1.检查DataDir和用户目录是否只有MySQL用户可以访问;
2.检查操作系统,确保正确安装了其它MySQL依赖的软件包;
3.升级MySQL服务器到最新版本。
如果该错误还没有解决,可以概括相关的MySQL服务器日志文件,并详细描述MySQL在发生错误时正在做的任何操作,将其发送到MySQL技术支持服务,以获取更深入的帮助和协助。