将 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 有索引限制,导致前缀。)