MariaDB - ERROR Incorrect definition of table
Коллеги всем привет.
В сегодняшней статье мы поговорим о распространенной ошибке которая случается в MariaDB.
После обновления базы данных может возникнуть такая ошибки в лог файлах:
[ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 11 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
[ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 12 to have type longblob, found type varbinary(255).
Такая ошибка встречается не очень часто, но иногда случается, а именно в тот момент когда вы обновили базу данных.
Иногда даже бывает что после такой ошибки ваша база данных может не запустится, тогда вариантов больше не остается, а только восстанавливать базу данных из последней резервной копии.
Чтобы решить эту проблему, вам нужно запустить утилиту mysql_upgrade.
$. mysql_upgrade -u root -p
Если вы обновляли версию базы данных из 10.4.6, то утилита будет называться mariadb-upgrade.
$. mariadb-upgrade -u root -p
Утилиту нужно запускать на запущенной базе данных. Запускать утилиту нужно от той учетной записи которая имеет административные права. Утилита это инструмент, который проверяет и обновляет ваши таблицы до последней версии.
Перед запуском рекомендуется сделать резервную копию всех баз данных.
Утилита проверит все системные таблицы и обновит их до последней версии, занимает это по времени пару секунд.
Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.