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的备份数据,导致服务启动失败的主要内容,如果未能解决你的问题,请参考以下文章