我最近运行的 ExpressionEngine 网站上出现了一个有趣的 mysql 错误。尝试访问管理控制面板时,我收到以下 mysql 错误:
Error Number: 126
Incorrect key file for table '/tmp/#sql_XXX_XX.MYI'; try to repair it
这是一台 VPS,我有 root 访问权限。令人困惑的是,/tmp/ 目录中似乎没有这样的文件。谷歌搜索后我发现这可能是该分区的空间问题,但 tmp 文件夹几乎是空的(只有几 k),我有点不知道下一步该怎么做。修复上述表格也没有带来任何好处。
答案1
为了解决这个问题,我在 /etc/mysql/my.cnf 中更改了 mysql tmp 目录的位置,然后重新启动了 mysql。现在一切都很好。
答案2
该表可以删除。这是一个临时表,现在可能已经很旧了(几分钟前)。在创建表时,/tmp 可能已满,尤其是当其他应用程序也在写入 /tmp 时。
研究让您的托管服务提供商在 VPS 中设置另一个磁盘,然后配置 MySQL 的 tmpdir 变量以指向该新磁盘。