美文网首页
InnoDB: Table flags are 0 in the

InnoDB: Table flags are 0 in the

作者: suchcl | 来源:发表于2019-01-28 19:01 被阅读0次

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

    相关文章

      网友评论

          本文标题:InnoDB: Table flags are 0 in the

          本文链接:https://www.haomeiwen.com/subject/cfhzjqtx.html