美文网首页
2021-09-09 mysql由于数据损坏导致启动异常的修复方

2021-09-09 mysql由于数据损坏导致启动异常的修复方

作者: 昨天今天下雨天1 | 来源:发表于2021-09-09 11:07 被阅读0次

1、公司mysql数据库 2个,合计50G+

2、准备将其中一个移到新增数据盘中,做ln -s软链接。

3、apache的服务器,已经停了。准备操作。没曾想apache自己启来了。大量外部数据进来,造成innodb错误。损坏了ibdata1文件。

数据库无法启动了

1-----(SRVFORCEIGNORECORRUPT):忽略检查到的corrupt页。
2-----(SRVFORCENOBACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
3-----(SRVFORCENOTRXUNDO):不执行事务回滚操作。
4-----(SRVFORCENOIBUFMERGE):不执行插入缓冲的合并操作。
5-----(SRVFORCENOUNDOLOGSCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
6-----(SRVFORCENOLOG_REDO):不执行前滚的操作。

参考上面,用6启动了。但是无法还原回去了。正常依旧无法启动。

4、研究了三个小时后,发现,可以更名/www/server/data下的 ibdata1 、ib_logfile0、ib_logfile1。(改名,保险。你不改出问题,别说我没提醒),ibdata1 后面还有用呢。

5、重启mysql,起来了 _ 经历辛酸,才明白_的难得。

6、保留,改名:新的 ibdata1_x

7、用老的ibdata1 和 innodb_force_recovery = 6 启动mysql 这时库是只读的。 做备份就好了。备出来的.sql

8、回到新的ibdata1 起来,导入.sql

一切OK . 办法可能是笨了,但是我们完成了。

另外,ln -s 软链接也一并做了。

建库 ——做 ln -s ——导库。 ln -s 也支持导入的。 哈哈。省事了。

相关文章

网友评论

      本文标题:2021-09-09 mysql由于数据损坏导致启动异常的修复方

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