MySQL [Warning] InnoDB: Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade

После обновления MySQL 5.6 на MySQL 5.7 в логах вылезла ошибка:

[Warning] InnoDB: Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade

Запускаем mysql_upgrade, предварительно сделав резервную копию!!!

# mysql_upgrade -p
  • mysql_upgrade должен выполняться каждый раз, когда вы обновляете MySQL
  • mysql_upgrade проверяет все таблицы во всех базах данных на предмет несовместимости с текущей версией сервера.
  • mysql_upgrade также обновляет системные таблицы, чтобы вы могли использовать новые привилегии или возможности, которые могли быть добавлены.

Чтобы проверить и восстановить таблицы или обновить системные таблицы, выполняем команды:

# mysqlcheck --all-databases --check-upgrade --auto-repair
# mysql < fix_priv_tables
# mysqlcheck --all-databases --check-upgrade --fix-db-names --fix-tables-names

Чтобы выполнить только обновление таблиц:

# mysql_upgrade