16

在 Fedora 28 决定将 mysql-community 软件包升级到 8.0(最新)之后,我意识到我的应用程序失败了,不得不降级到 mysql 5.27.2

当然,我的数据库文件(.idb)是相同的(由 mysql 8.0 更改)。启动mysql 5.27服务时,失败。我已阅读日志文件 /var/log/mysqld.log 并发现:

InnoDB:数据字典中的表标志为 0,但文件 ./ibdata1 中的标志为 0x4000!

4

2 回答 2

24

删除所有数据库文件解决了这个问题:

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

请注意,这样做会丢失服务器中的所有数据库!!!就我而言,我有一个转储,我可以恢复。

于 2018-05-22T13:32:43.107 回答
1

确保您专门使用 MySQL 8.0 版客户端以避免此错误

RCA 1.您尝试使用 mysqld_safe(ver5) 而不是 8.0 版本启动更新版本的 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 之前

于 2019-09-15T14:40:21.070 回答