innodb 引擎数据恢复

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 今天遇到一个问题 mysql-5.5 数据库保障 部分错误日志如下   InnoDB: stored checksum 808812544, prior-to-4.0.14-form stored checksum 959328563InnoDB: Page lsn 791621944 858666297, low 4 bytes of lsn at page end 84188

今天遇到一个问题 mysql-5.5

数据库保障

部分错误日志如下

 

InnoDB: stored checksum 808812544, prior-to-4.0.14-form stored checksum 959328563
InnoDB: Page lsn 791621944 858666297, low 4 bytes of lsn at page end 841888053
InnoDB: Page number (if stored to page already) 307162691,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 841958736
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 44864.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.


130826  9:59:12 [ERROR] Invalid (old?) table or database name 'zs20121215-21'

 

检测数据库时候发生下面错误

mysql> check table activity.enterGiveApp;
ERROR 2013 (HY000): Lost connection to MySQL server during query

 

表结构存在

mysql> desc  activity.goldidea;
+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(10)      | NO   | PRI | NULL    | auto_increment |
| userId      | varchar(50)  | YES  |     | NULL    |                |
| localIp     | varchar(100) | YES  |     | NULL    |                |
| create_time | datetime     | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.06 sec)


查询数据发生下面错误

mysql> select ID from activity.goldidea where ID < 50;
ERROR 2013 (HY000): Lost connection to MySQL server during query

 

非 MyISAM 表,不支持 repair 修复

mysql> repair table activity.goldidea;
+-----------------------+--------+----------+---------------------------------------------------------+
| Table                 | Op     | Msg_type | Msg_text                                                |
+-----------------------+--------+----------+---------------------------------------------------------+
| activity.funitv_click | repair | note     | The storage engine for the table doesn't support repair |
+-----------------------+--------+----------+---------------------------------------------------------+
1 row in set (0.01 sec)


查询存储

mysql> select engine from information_schema.tables where table_schema='activity' and table_name=goldidea';
+--------+
| engine |
+--------+
| InnoDB |
+--------+
1 row in set (0.00 sec)


尝试修复

my.cnf 启动参数添加

innodb_force_recovery = 6


重启 mysql

检测表

mysql> check table activity.goldidea;
ERROR 2013 (HY000): Lost connection to MySQL server during query


 

mysql> desc  activity.goldidea;
+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(10)      | NO   | PRI | NULL    | auto_increment |
| userId      | varchar(50)  | YES  |     | NULL    |                |
| localIp     | varchar(100) | YES  |     | NULL    |                |
| create_time | datetime     | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.06 sec)


 

mysql> select count(*) from activity.goldidea;
+----------+
| count(*) |
+----------+
|    60827 |
+----------+
1 row in set (0.13 sec)

mysql> check table activity.goldidea;
+-------------------+-------+----------+----------+
| Table             | Op    | Msg_type | Msg_text |
+-------------------+-------+----------+----------+
| activity.goldidea | check | status   | OK       |
+-------------------+-------+----------+----------+
1 row in set (0.22 sec)

 

走运地修复好表及数据了

 

 


 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 缓存 关系型数据库
InnoDB 引擎底层存储和缓存原理
InnoDB 引擎底层存储和缓存原理
|
7天前
|
存储 关系型数据库 MySQL
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
21 0
|
2月前
|
存储 关系型数据库 MySQL
InnoDB 引擎底层事务的原理
InnoDB 引擎底层事务的原理
|
6月前
|
存储 安全 关系型数据库
【InnoDB引擎如何管理Page页】
【InnoDB引擎如何管理Page页】
|
4月前
|
存储 关系型数据库 MySQL
MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?
MySQL ⽀持哪些存储引擎?默认使⽤哪个?MyISAM 和 InnoDB 引擎有什么区别,如何选择?
|
6月前
|
存储 关系型数据库 MySQL
MySQL使用InnoDB引擎时一张表最大可以储存数据大小为 64TB,那为什么当表中的单行数据达到16KB时,这张表只能储存一条数据?
MySQL使用InnoDB引擎时一张表最大可以储存数据大小为 64TB,那为什么当表中的单行数据达到16KB时,这张表只能储存一条数据?
|
10月前
|
SQL 关系型数据库 MySQL
InnoDB数据恢复的工具——TwinDB介绍
TwinDB是一款专门用于InnoDB数据恢复的工具,它还有一个名字叫undrop for InnoDB。
616 0
|
存储 关系型数据库 MySQL
Innodb引擎中B+树一般有几层?能容纳多少数据量?
Innodb引擎中B+树一般有几层?能容纳多少数据量?
819 0
Innodb引擎中B+树一般有几层?能容纳多少数据量?
|
存储 NoSQL 关系型数据库
MySQL insert 语句的函数调用栈和innodb引擎的更新方式
研究和学习MySQL源码可能会有用,MySQL insert语句的函数调用栈
177 0
|
存储 SQL 缓存
MySQL-InnoDB引擎-架构和事务原理
MySQL-InnoDB引擎-架构和事务原理
MySQL-InnoDB引擎-架构和事务原理