![错误 1034(HY000):表“mytable”的密钥文件不正确;尝试修复它](https://linux22.com/image/778631/%E9%94%99%E8%AF%AF%201034%EF%BC%88HY000%EF%BC%89%EF%BC%9A%E8%A1%A8%E2%80%9Cmytable%E2%80%9D%E7%9A%84%E5%AF%86%E9%92%A5%E6%96%87%E4%BB%B6%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%9B%E5%B0%9D%E8%AF%95%E4%BF%AE%E5%A4%8D%E5%AE%83.png)
将 mysql 从 5.5 升级到 5.7 后,压缩的 innodb 数据库似乎损坏了。我按照此方法操作邮政创建一个新的数据库/表,删除表空间,复制旧的.ibd 文件,然后导入表空间,ALTER TABLE mytable IMPORT TABLESPACE
但出现与该帖子相同的错误:
ERROR 1034 (HY000): Incorrect key file for table 'mytable'; try to repair it
请注意,此错误不是由磁盘空间不足引起的。
答案1
PRIMARY KEY (title(255))
哎呀!从技术上讲,这意味着的前 255 个字符title
是唯一的。这可能不是你想要的。我认为应该禁止在 UNIQUE 和 PRIMARY KEY 前面添加前缀。
我猜测前缀是导致问题的原因。
5.7 可让您删除(255)
和(大概)正常工作。试试看。(5.5 有索引限制,导致前缀。)