故障背景:

今天在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

然后就操作正常了。


小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅

mysql 5.7上用了5.6的备份数据,导致服务启动失败_第1张图片

关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量! 

mysql 5.7上用了5.6的备份数据,导致服务启动失败_第2张图片