当我尝试运行查询时,它给了我错误,例如“表'/tmp/#sql_6212_0.MYI'的密钥文件不正确;尝试修复它”。
当我用谷歌搜索它时,我在 urls 下面找到并尝试通过在 tmp 文件夹中留出一些空间来解决,但得到了相同的结果。
我无法修复它,因为表是 Innodb。
表 '/tmp/#sql_3c51_0.MYI' 的密钥文件不正确;尝试修复它。
任何帮助表示赞赏。
当我尝试运行查询时,它给了我错误,例如“表'/tmp/#sql_6212_0.MYI'的密钥文件不正确;尝试修复它”。
当我用谷歌搜索它时,我在 urls 下面找到并尝试通过在 tmp 文件夹中留出一些空间来解决,但得到了相同的结果。
我无法修复它,因为表是 Innodb。
表 '/tmp/#sql_3c51_0.MYI' 的密钥文件不正确;尝试修复它。
任何帮助表示赞赏。
如果修复失败是因为 /tmp-Partition 太小,那是因为 MySQL 需要空间来重建索引。您可以尝试使用 myisamchk 修复表并从重建中排除单个索引。
首先获取表的索引的概述和描述:
myisamchk --description tablename
然后仅包含您要重建的那些索引。(更改到服务器上的数据库目录以发出以下命令。)
myisamchk --recover -verbose --keys-used=7 tablename
如果您有 4 个索引并且只想重建前 3 个索引,则使用带有数字 7 的选项“--keys-used”,即二进制 0111 的十进制。
如果 myisamchk 发现任何错误,可选择使用 -f (--force) 自动执行修复操作。
MySQL 停用排除的索引。