mysql 5.7上用了5.6的备份数据,导致服务启动失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 5.7上用了5.6的备份数据,导致服务启动失败相关的知识,希望对你有一定的参考价值。

故障背景:

今天在mysql 5.7上用了5.6的备份数据,导致服务启动失败


报错信息:这是第一个错误

日志提示:'The innodb_system data file './ibdata1' is of 

a different size 4864 pages (rounded down to MB) 

than the 11264 pages specified in the .cnf file!'


思路:

根据日志的第一个错误信息开始排查并解决,有可能是第一个错误导致其他的错误发生

总结:

最终发现ibdata1和ibdata2的大小必须和已存在的这俩文件大小相同


解决方法:

1、vim /etc/my.cnf

innodb_data_file_path = ibdata1:76M;ibdata2:100M:autoextend

ibdata1和ibdata2的大小要和data目录下的这个俩文件大小相同

2、启动服务

/etc/init.d/mysqld start


服务启动后遇到的问题:

好不容易服务是起来了,但是日志还有很多报错,导致涉及到元数据的操作都不能执行....



日志提示:’performance_schema’.’session_variables’不存在,后来提示结构错误:

mysql-workbench Connecting to MySQL server ... Native table 'performance_schema'.'session_variables' has the wrong structure

这类型的报错一大片!


总结:因5.7的mysql使用了5.6mysql创建的表,导致表结构不兼容的原因。

           所以检查下表与当前版本的兼容性,并更新下系统库就好了


解决方法:

1.输入:mysql_upgrade -uroot -p123        #检查表与当前版本的兼容性,并更新下系统库

2.重启mysql服务:/etc/init.d/mysqld restart

然后就操作正常了。


以上是关于mysql 5.7上用了5.6的备份数据,导致服务启动失败的主要内容,如果未能解决你的问题,请参考以下文章

mysql升级到5.7会出现啥问题

如何升级mysql5.6到5.7 for windows

mysql5.6和5.7哪个好

企业实战|Mysql不停机维护主从同步

mysql 5.7和5.6的区别

MySQL5.6升级5.7步骤