表 '/mysql-tmp/#sql_78b5_0.MYI' 的密钥文件不正确;或“从存储引擎得到错误 x”
Posted
技术标签:
【中文标题】表 \'/mysql-tmp/#sql_78b5_0.MYI\' 的密钥文件不正确;或“从存储引擎得到错误 x”【英文标题】:Incorrect key file for table '/mysql-tmp/#sql_78b5_0.MYI'; or "Got error x from storage engine"表 '/mysql-tmp/#sql_78b5_0.MYI' 的密钥文件不正确;或“从存储引擎得到错误 x” 【发布时间】:2012-12-30 08:24:35 【问题描述】:我将 CodeIgniter 框架用于我的一个 Web 应用程序。
我在开发环境中运行该应用没有任何问题,而且在大多数情况下,我的应用在生产环境中运行良好。
但是,我和我的用户遇到了一些关于数据库的零星错误。
-
表'/mysql-tmp/#sql_78b5_0.MYI'的密钥文件不正确;
存储引擎出现错误 28
存储引擎出现错误 -1
数据库错误消息如下所示:
ERROR -2013-01-15 13:56:35 --> 数据库错误消息:
错误编号: 126
表'/mysql-tmp/#sql_78b5_0.MYI'的密钥文件不正确; 尝试修复它
选择 bw.bw_id ,bw.wod_date ,CASE WHEN ifnull(bw.simple_title,'') = '' THEN 'No name given' ELSE simple_title END AS simple_title ,COUNT(mw.bw_id) AS 记录的_wod 从 box_wod bw 左加入 member_wod mw ON bw.bw_id = mw.bw_id 和 mw.member_id = 15 在哪里 box_id = 3 通过...分组 bw.bw_id、bw.wod_date、simple_title、mw.bw_id 订购方式 bw.wod_date DESC
文件名:/hermes/.../box_model.php
线 数量:400
我对答案的搜索都指向一个路径:可用磁盘空间。
我试图向我的托管服务提供商指出这一点,但他们声称这不是问题:
我已检查您报告的问题。没有 MySQL 服务器问题。一世 已检查提供的错误日志,似乎与 你的数据库表。目前,您的网站在没有 任何问题。请检查您的数据库表。
“表'/mysql-tmp/#sql_78b5_0.MYI'的密钥文件不正确;”如果你 有任何其他问题,请更新支持控制台。
我已经对我的所有桌子进行了修复;我的数据库大约是一兆字节。我仍然遇到这个问题。
是否有任何其他设置问题(CI 或我的数据库)可能导致此问题?
CI 框架是否会创建可能损坏的临时表?
我确实编写了我的 SQL 语句,但在我发出它们之前它们都可以工作。
我只是想了解什么(除了磁盘空间)会导致这个问题。
【问题讨论】:
【参考方案1】:简而言之,答案是物有所值。
我的托管服务提供商在服务器上发生了一些事情。在支持下来回走了很多次后,他们擦干了这个问题。此外,它们不会让用户访问存储您的代码的服务器;所以除了在我的开发机器上运行良好的代码之外,我没有什么可以解决的。
因此,我选择搬到新的托管服务提供商,问题就消失了。
【讨论】:
以上是关于表 '/mysql-tmp/#sql_78b5_0.MYI' 的密钥文件不正确;或“从存储引擎得到错误 x”的主要内容,如果未能解决你的问题,请参考以下文章
表 '/tmp/#sql_3c51_0.MYI' 的密钥文件不正确;尝试修复它[重复]
得到维度处理错误;表 '/var/tmp/mysql.VArBWG/#sql_aa0_8.MYI' 的密钥文件不正确;尝试修复它