Database Administrators Asked by Roy Hinkley on January 13, 2021
In mysqld.log
I have thousands of lines like:
Table mysql/innodb_index_stats has length mismatch in the column name table_name. Please run mysql_upgrade
So, according to virtually every post on the matter (and error msg itself):
mysql_upgrade -u root -p
Enter password:
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
...
and all tables in all databases are like
...
mysql.columns_priv OK
mysql.db OK
mysql.engine_cost OK
mysql.event OK
mysql.func OK
mysql.general_log OK
mysql.gtid_executed OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.server_cost OK
mysql.servers OK
mysql.slave_master_info OK
mysql.slave_relay_log_info OK
mysql.slave_worker_info OK
mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
The sys schema is already up to date (version 1.5.1).
Checking databases.
...
But, I am still getting the error in the log
2019-01-27T18:37:15.304587Z 66190 [Warning] InnoDB: Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade
2019-01-27T18:37:15.304620Z 66190 [Warning] InnoDB: Table mysql/innodb_index_stats has length mismatch in the column name table_name. Please run mysql_upgrade
2019-01-27T18:37:15.304684Z 66190 [Warning] InnoDB: Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade
2019-01-27T18:37:15.304707Z 66190 [Warning] InnoDB: Table mysql/innodb_index_stats has length mismatch in the column name table_name. Please run mysql_upgrade
The structure appears to be okay. Is there a config issue? Please advise.
The answer appears to be – reboot server. I do not have rights to do this, but after admin rebooted, issue appears to be resolved. Not sure why just rebooting MySQL did not fix?
In command line:
mysql_upgrade --user=your_user_name --password
You may have to use --force
if the database have already been upgraded and something went wrong (which is probably the case if you are here). Don't worry, mysql_upgrade
will tell you about this and as a result you just have to re-run it with --force
.
That's it.
Answered by TitanFighter on January 13, 2021
Maybe this information is useful.
https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-23.html
Note
This release includes a change to the innodb_index_stats and innodb_table_stats system tables. When upgrading to this release, be sure to run mysql_upgrade in order to include these changes.
Answered by Chrysweel on January 13, 2021
Do you have any clue what is going on when the Warning is being generated? It sounds like some form of version mismatch. Do you have any Plugins?
Please file a bug at bugs.mysql.com .
Meanwhile, do
USE mysql;
SHOW CREATE TABLE innodb_index_stats ;
Check, in particular, the definition of table_name
. It used to be
`table_name` varchar(64) COLLATE utf8_bin NOT NULL,
8.0 changes it to
`table_name` varchar(199) COLLATE utf8_bin NOT NULL,
If it is still 64, simulate what mysql_update
should have done, by doing
ALTER TABLE innodb_index_stats
MODIFY `table_name` varchar(199) COLLATE utf8_bin NOT NULL;
Ditto for innodb_table_stats
.
Answered by Rick James on January 13, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP