LINUX.ORG.RU
ФорумAdmin

Проблема с InnoDB

 ,


0

1
7fc43ba82700 InnoDB: Error: Column last_update in table "mysql"."innodb_table_stats" is INT UNSIGNED NOT NULL but should be BINARY(4) NOT NULL (type mismatch).
7fc43ba82700 Error: Fetch of persistent statistics requested for table "phpmyadmin"."pma__tracking" but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead.

Делал mysql_updrage

Вчера сменил движок на myISAM, всё те же ошибки.



Последнее исправление: durakprostak (всего исправлений: 1)

Сделай дамп таблички mysql.innodb_table_stats, поменяй объявление колонки last_update как показано в первой ошибке, залей обратно - и будет тебе счастье.

slowpony ★★★★★
()
Ответ на: комментарий от slowpony

Можете пожалуйста перейти в телеграм, или вк? Буду очень благодарен

durakprostak
() автор топика
Ответ на: комментарий от imul

Размерность типов-то одинаковая

Есть предположение, что именно из-за размерности такое вот. Надо спросить ТСа.

durakprostak, поделись с классом, какие версии mysql? Обносился с какой до какой?

webmonkey
()
Ответ на: комментарий от webmonkey

mysql Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

durakprostak
() автор топика
Ответ на: комментарий от durakprostak

но логи не пишутся почему-то.

Почему они должны писаться?

crutch_master ★★★★★
()

7fc43ba82700 InnoDB: Error: Column last_update in table «mysql».«innodb_table_stats» is INT UNSIGNED NOT NULL but should be BINARY(4) NOT NULL (type mismatch).

7fc43ba82700 Error: Fetch of persistent statistics requested for table «phpmyadmin».«pma__tracking» but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead.

Судя по всему, в новой версии СУБД-шки в таблице «innodb_table_stats» изменился тип поля «last_update», но mysql_updrage это дело не поправил.

Самый надежный способ - это «железно» выяснить тип поля «last_update» (по идее, должен быть timestamp). Для этого поставьте себе где-нибудь локально «c нуля» свежую версию СУБД и посмотрите структуру таблицы «innodb_table_stats», а лучше - возьмите оттуда скрипт пересоздания таблицы и прогоните его на рабочем базе (старую статистику в innodb_table_stats лучше просто удалить и потом пересчитать заново).

Насчет InnoDB-статистики см: https://dev.mysql.com/doc/refman/8.0/en/innodb-persistent-stats.html

vinvlad ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.