在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!
答案 0 :(得分:2)
此问题已解决删除所有数据库文件:
cd /var/lib/mysql
sudo rm -rf *
请注意,这样做会丢失服务器中的每个数据库! 在我的情况下,我有一个转储,我可以恢复。
答案 1 :(得分:0)
确保您使用的是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之前