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です!
この問題は解決されましたすべてのデータベースを削除していますファイル:
cd /var/lib/mysql
Sudo rm -rf *
これを行うと、サーバー内のすべてのデータベースが失われることに注意してください!!!私の場合、ダンプがあり、復元できました。
このエラーを回避するために、MySQLバージョン8.0クライアントを使用していることを確認してください
[〜#〜] rca [〜#〜] 1.バージョン8.0ではなくmysqld_safe(ver5)を使用して、新しいバージョンのmysqlサーバーを起動しようとしました
ソリューション
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を開始する前