Служба mysqld не запускается

После того, как Fedora 28 решила обновить пакеты mysql-community до 8.0 (последняя версия), я понял, что мое приложение не работает, и мне пришлось перейти на mysql 5.27.2

Конечно, мои db-файлы (.idb) были одинаковыми (изменено в mysql 8.0). При запуске службы mysql 5.27 происходит сбой. Я прочитал файл журнала /var/log/mysqld.log и нашел это:

InnoDB: Флаги таблицы равны 0 в словаре данных, но флаги в файле./ibdata1 - 0x4000!

1 ответ

Эта проблема была решена путем удаления всех файлов базы данных:

 cd /var/lib/mysql
 sudo rm -rf *

Имейте в виду, что при этом вы потеряете все базы данных на сервере!!! В моем случае у меня была свалка, и я смог восстановить.

Убедитесь, что вы используете клиент MySQL версии 8.0 специально, чтобы избежать этой ошибки.

RCA1. Вы попытались запустить более новую версию сервера mysql с mysqld_safe(ver5) вместо версии 8.0.

Решение

export MYSQL_8_HOME=/path/to/mysql-8.0.17-macos10.14-x86_64 #e.g /usr/local/mysql-8.0.17-macos10.14-x86_64
cd $MYSQL_8_HOME # where is the dorectory mysql v8.0 was installed.
bin/mysqld_safe --user=mysql --datadir=/path/to/data/mysql 

Просто для дополнительной меры вы можете рассмотреть возможность обновления переменной PATH, чтобы добавить к ней префикс более новой версии программ MySQL, подобных этой

export PATH=$MYSQL_HOME/bin:$PATH

перед запуском mysqld_safe

Другие вопросы по тегам