Bug #86926 | The field table_name (varchar(64)) from mysql.innodb_table_stats can overflow. | ||
---|---|---|---|
Submitted: | 4 Jul 2017 11:24 | Modified: | 29 Jun 2018 11:41 |
Reporter: | Jean-François Gagné | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Partitions | Severity: | S2 (Serious) |
Version: | 5.7.17-log | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[4 Jul 2017 11:24]
Jean-François Gagné
[4 Jul 2017 15:56]
MySQL Verification Team
Hi, verified as reported. Thanks for reporting! all best Bogdan
[29 Jun 2018 11:41]
Jon Stephens
Documented fix in the MySQL 5.7.23 changelog as follows: When creating partitioned InnoDB tables with very long names, 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 and later. 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. NOTE: Some platforms, such as Microsoft Windows, may restrict path lengths (MAX_PATH) to a maximum of 260, which can cause creation of partitioned tables with long names to fail. You can avoid this problem on Windows systems by enabling NTFS long path names; see your system documentation for information on how to do this. Closed.
[29 Jun 2018 11:49]
Jon Stephens
Also added a note regarding upgrades to the preamble of the 5.7.23 changelog.