Table ‘mysql.plugin’ doesn’t exist или как удалить mysql

После некоторых экспериментов с таблицами InnoDB (была попытка восстановить битые таблицы) сломал себе mysql (версия 5.7), а точнее просто забыл куда положил свои файлы ib_logfile0, ib_logfile1, ibdata1, ibtmp1.

Итог: при обновлении пакетов как и при попытке удалить пакет MySQL через

появлялась ошибка

Ошибка эта означает, что сервер баз данных не видит системной таблицы plugin из базы mysql. Дело в том что эта таблица InnoDB и после удаления или повреждения файлов логов и структуры InnoDB (что у меня и произошло) сервер перестает распознавать эти таблицы. Если точнее, то дескриптор или идентификатор этой таблицы, которые были прописаны в структуре базы данных, более не соответствуют идентификатору указанному в самой таблице. И сервер не может найти таблицу по идентификатору, даже если сама таблица в порядке и лежит без повреждений в базе данных.

Пришлось удалить через purge (удаление со всеми конфигурационными файлам) и удалить директории хранения файлов конфигурации и файлов баз данных (код приведен ниже).

Потом заново установить чистый MySQL.

P.S. В приведенном примере MySQL не хранил критично важной информации, но так бывает не всегда. Поэтому перед тем как ставить эксперименты на своем рабочем сервере, создайте резервные копии, хотя бы двух каталогов /etc/mysql и /var/lib/mysql.

Добавить комментарий

Ваш e-mail не будет опубликован.