内容简介:客户反馈建立索引时报错,具体错误如下:查了下 mysql 官网的解释是说是索引没同步,导致 Innodb 和数据字典的内容不一致,这种情况建议关闭表后等待索引同步就好了 但是我们这边禁止了关闭表的命令。这个是MySQL常见问题。应该是用户执行建索引ddl的时候,退出了或者出现异常导致的。
客户反馈建立索引时报错,具体错误如下:
[ERROR] Table db/table contains 7 indexes inside InnoDB, which is different from the number of indexes 6 defined in the MySQL
查了下 mysql 官网的解释是说是索引没同步,导致 Innodb 和数据字典的内容不一致,这种情况建议关闭表后等待索引同步就好了 但是我们这边禁止了关闭表的命令。
这个是MySQL常见问题。应该是用户执行建索引ddl的时候,退出了或者出现异常导致的。
如果 flush table 搞不定,需要alter table的话,让用户来执行
ALTER TABLE table_name ENGINE=Innodb;
但是执行 DDL 语句是有代价的,需要考虑客户是否一直用这个表,能重启最好,但是如果是 cache 的问题,那么直接 重启就好,如果是文件不一致还是需要执行 ALTER TABLE table_name ENGINE=Innodb;
参考: https://www.percona.com/blog/2011/11/29/innodb-vs-mysql-index-counts/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- MySQL索引使用说明(单列索引和多列索引)
- Elasticsearch索引的基本操作(3)-索引的滚动索引
- Coreseek 增量索引模拟实时索引
- Coreseek 增量索引模拟实时索引
- MySQL高效索引之覆盖索引
- MySQL -- 普通索引与唯一索引
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。