Служба 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