欢迎光临
我们一直在努力

Mysql:InnoDB: The log sequence number in ibdata files does not match

一日,公司笔记本升级防火墙,于是备份所有文件后交IT处理。
再拿到手上,就是一台重新装了系统的笔记本了。
这时才想起来mysql没有做导出,但是由于备份了所有数据文件,应该有办法恢复回来。
操作如下—
1.重新安装了相同版本的Mysql,并选择相同的引擎INNODB。
2. 关掉Mysql服务,将原data文件夹覆盖新装的data文件夹,启动失败报错1067
3.于是保留data文件夹里的ibdata1文件,其他覆盖掉。
4.启动Mysql,查询发现database都在了,任选了一个db,查询tables也都在。心说大功告成。
5.启动应用,报错提示表找不到。
6.命令行连到数据库上,show databases结果正确,show tables结果正确,desc [table]失败,提示table找不到。
7.后来才知道innodb引擎的数据还是存储在ibdata1中的,虽然那些frm文件和database文件夹都在,但是好像数据并不保存在这些文件里。
8.查找网络,提示先添加my.ini中 innodb_force_recovery=4, 启动服务,在删除该配置。
于是照做,成功。
步骤如下—
1. shutdown mysql
2. modify my.ini, add record “innodb_force_recovery=4”
3. start up mysql service
4. connect mysql, show databases is correct, show tables is correct, desc [table] results correct.
5. It succeeds. Thank God.
6. stop mysql, remove record “innodb_force_recovery=4”, start up mysql
7. start application, everything goes well.
In fact, I am not sure whether it will work if we don’t add “innodb_force_recovery=4”, hope someone tried.
分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

更专业 更方便

联系我们联系我们