背景:服务器系统: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服务就可以了。
网友评论