InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!

背景:服务器系统:centos7.3,原来在装了个mysql8.0的数据库,后来发现一些问题,不得不退回到低版本,选择了mysql5.7的。
在数据库都成功安装完成后,启动数据库的时候,总是启动失败。
虽然有提示Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.让查看相关的一些信息,但执行systemctl status mysqld.service和journalctl -xe并没有发现什么有价值的信息,那就看log吧。mysql安装完成后默认的log文件地址:/var/log/mysqld.log.
发现了这样一条提示ERROR信息:

2019-01-28T09:49:57.076019Z 0 [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!

找到问题了,InnoDB的问题。原来安装的是mysql8.0版本,比现在的5.7版本要高,但在高版本数据库时创建的一些数据库数据都还在,使用的是高版本的InnoDB引擎,而低版本的数据库服务还是指向了这些数据,但是一些版本的数据格式不同,这个时候,我们只要把高版本的数据删掉就可以了,删掉后重新启动mysql就可以了。

删除高版本数据库时创建的数据,不是仅仅删除创建的一些数据库,而是把整个mysql的数据目录全部删除。

cd /var/lib/mysql
sudo rm -R mysql

然后重新启动mysql服务就可以了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容