MySQL 数据恢复方法(二)

摘要:InnoDB 数据文件损坏,数据库无法启动,更悲催的是没有备份!难道要跑路?! 还好可以使用 Percona Data Recovery Tool for InnoDB 工具,从损坏的数据文件中提取数据进行恢复,那么该如何操作呢?

使用场景

InnoDB数据文件损坏,数据库无法启动,且无数据备份的情况下,进行数据恢复。

仅对MySQL InnoDB存储引擎数据文件有效。

所需资源

1.InnoDB 数据文件

2.可获取表结构的 mysql server

3.Percona Data Recovery Tool for InnoDB工具

操作说明

1. 使用 percona-data-recovery-tool-for-innodb 构建恢复工具。主要构建出2个工具,page_parser & constraints_parser。

2. 使用 page_parser 提取需要恢复的数据页,会在当前目录下生成 pages-$timestamp 数据文件目录

[root@mysql percona-data-recovery-tool-for-innodb]# page_parser -5 -f /path/to/ibdata1##命令使用方法[root@mysql percona-data-recovery-tool-for-innodb]# ./page_parser -hError: Usage: ./page_parser -4|-5[-dDhcCV]-f[-T N:M][-s size][-t size]Where    -h  -- Print thishelp-V  -- Print debug information    -d  -- Process only those pageswhichpotentially could have deleted records(default=NO)-s size -- Amount of memory usedfordisk cache(allowed examples 1G 10M). Default 100M    -T  -- retrieves only pages with indexid=NM(N - high word, M - low word of id)-c  -- count pagesinthe tablespace and group them by indexid-C  -- count pagesinthe tablespace and group them by indexid(and ignore too high/zero indexes)-t  size -- Size of InnoDB tablespace to scan. Use it onlyifthe parser can't determine it by himself.

3.生成相关表定义文件,并重新编译构建 constraints_parser 工具(需要连接数据库,有表结构即可)

[root@mysql percona-data-recovery-tool-for-innodb]# ./create_defs.pl --host=$db_host --user=$user --password=$pass --db=$database --table=$table > include/table_defs.h[root@mysql percona-data-recovery-tool-for-innodb]# make

4.从 pages-$timestamp 目录提取数据,可以导出到文件

[root@mysql percona-data-recovery-tool-for-innodb]# ./constraints_parser -5 -f pages-1493793157/FIL_PAGE_INDEX/0-22/0-00000003.page > datafileLOAD DATA INFILE'/root/percona-data-recovery-tool-for-innodb/dumps/default/test'REPLACE INTO TABLE`test`FIELDS TERMINATED BY'\t'OPTIONALLY ENCLOSED BY'"'LINES STARTING BY'test\t'(id, name);[root@mysql percona-data-recovery-tool-for-innodb]# cat datafiletest1"test"test2"test2"test3"test3"test4"test4"

5. 进行数据导入恢复

原文链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容