升级MySQL5.7.24时报错提示mysql/innodb_table_stats has length mismatch in the column name table_name.的解决方法

最新推荐文章于 2022-09-29 09:56:11 发布
于 2019-05-09 08:29:51 发布

5.7.17升级致5.7.24后日志提示报错:

最近在做数据库手动升级工作时发现一个错误, 老库版本 5.7.17 ,新库版本使用的是 5.7.24 ,迁移配置完后,瞄了一眼库的错误日志里面,突然蹦出一堆的下面这种:

MySQL generates the warning Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade

MySQL generates the warning Table mysql/innodb_index_stats has length mismatch in the column name table_name. Please run mysql_upgrade

根据提示,可以看到是因为 mysql.innodb_table_stats 和 mysql.innodb_index_stats这张表table_name列问题。 那么对比下新老库看看吧。

新老数据正常表结构:mysql/innodb_index_stats和innodb_tables_stats中table_name字段

5.7.17:table_name varchar( 64 ) COLLATE utf8_bin NOT NULL,
5.7.24:table_name varchar( 199 ) COLLATE utf8_bin NOT NULL,
可以看出,5.7.24 版本上的 innodb_index_stats 和innodb_tables_stats 的 table_name 列,长度从 64 变成了 199 ,而我升级后的5.7.24中 table_name 还是 64 ,问题找到!

执行下 mysql_upgrade -u root -p –force ,然后 重启下mysqld进程 即可。

mysql官方文档5.7.23的 Release Notes 如下:

https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-23.html

相关内容:
Bugs Fixed
Important Change; Partitioning: After creating partitioned InnoDB tables with very long names, the table_name columns in the corresponding entries in the mysql.innodb_index_stats and mysql.innodb_table_stats system tables were truncated. To fix this issue, the length of the table_name column in each of these tables has been increased from 64 to 199 characters. In both cases, this is now the same as the lengths of these columns in MySQL 8.0.

When upgrading to this release, use mysql_upgrade to effect these changes in your MySQL installation. In the event that you fail to do this, MySQL generates the warning Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade in the error log.

升级MySQL5.7.24时报错提示mysql/innodb_table_stats has length mismatch in the column name table_name.的解决方法 MySQL5.7.24 下 报错提示innodb_table_stats 解决方法5.7.17升级致5.7.24后日志提示报错:新老数据正常表结构:mysql/innodb_index_stats和innodb_tables_stats中table_name字段解决办法mysql官方文档5.7.23的 Release Notes 如下:地址:5.7.17升级致5.7.24后日志提示报错:最近在...
【问题 解决 】[Warning] InnoDB : Table mysql / innodb _ table _ stat s has length mis match in the column name table _name. Please run mysql _ upgrade 产生原因 解决 方法 官网bug修改 根据 提示 :是数据库 innodb _ table _ stat s 表中 table _name一栏长度异常导致的。 解决 方法 根据 提示 :是数据库 innodb _ table _ stat s 表中 table _name一栏长度异常导致
安装完 mysql 5.7.27,数据库 报错 日志 [Warning] InnoDB : Table mysql / innodb _index_ stat s has length mis match in the column name table _name. Please run mysql _ upgrade 根据 提示 ,因为 mysql . innodb _ table _ stat s 和 mysql . innodb _i...
admin_menu为数据表 查找到数据库存档中的data文件夹下网站所在的目录,然后找到frm和ibd文件,第一 间备份,然后进行下面的操作!(其他的 方法 都不行,最后折腾了一个通宵……哎,总结了一下) 第一步,解除空间(在数据库中的SQL中直接操作),如果失败那是因为frm和ibd文件还在,要删除,最后需要导入的哦,记得备份,然后重启数据库,以防万一把内存也清理下(虚拟机的除外,因为你没权限...
升级MySQL5.7.24时报错提示mysql/innodb_table_stats has length mismatch in the column name table_name.的解决方法