mysql数据库崩溃:InnoDB: Database page corruption on disk or a failed

运行“mysqld - -console ”命令可以显示出启动错误信息。


问题原因

数据库中表损坏导致数据访问错误,从而导致数据库崩溃;mysql中check table 发现表有损坏,但表是innodb类型不能修复。

Innodb 自检过程中checksum与退出时不一致便会去recover;

问题解决

1、知道mysql配置文件,my.cnf。 
添加下面内容:

innodb_force_recovery=1

再启动mysql

则可以正常启动。

2、寻找到出错的表。

本人利用Navicat连接mysql服务器。

查看所有表,其中发现

3、将这两个表导出成mysql文件。

再将这两个表删除。

复制mysql文件中的建表语句。由此新建两个与之前结构一样的表,但是存储引擎设置为MYISAM。

将mysql文件中的错误的那条语句删除。

将其他正常数据导入到数据库。

4、关闭mysql服务器。

将最开始添加的

innodb_force_recovery=1

删除。

重启mysql服务器。

将MYISAM引擎的两个表改为innodb。 
(Navicat中,设计表->选项->innoDB->保存)

结束。

原链接:https://www.aliyun.com/jiaocheng/148461.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值