DBRECOVER FOR MYSQL是一个MySQL数据库(Innodb)恢复工具,该工具软件可以在MySQL没有备份的情况下,针对实例崩溃,Inoodb字典损坏无法启动数据库实例,DROP DATABASE,DROP TABLE,TRUNCATE TABLE,DELETE TABLE,磁盘/文件系统损坏等场景恢复数据库数据。
特性:
- 图形化界面操作,无需学习命令行
- 支持版本覆盖MYSQL 5.1 到 MySQL 8.0(2020年5月),支持MYSQL 8.0的全新数据字典结构
- 支持INNODB存储引擎, MYISAM支持仍在开发中
- 支持各种故障导致的MYSQL实例崩溃下的数据恢复
- 恢复结果为MYSQLDUMP格式的SQL文件
- 支持对DELETE 操作的数据行恢复
- 支持对DROP TABLE, TRUNCATE TABLE 操作的表恢复
- 支持对DROP DataBase操作的数据库恢复
- 支持因磁盘故障/文件系统损坏等情况下的恢复
- 免费版支持每张表抽取1000行数据,每张表抽取100行被delete的数据
- 基于JAVA开发,支持Windows/Redhat/Centos/Ubuntu等操作系统
- 支持对FRM文件的恢复,将FRM文件解析为CREATE TABLE的SQL语句
- 支持对LOB/TEXT等大对象的恢复
针对MySQL数据库无法打开的场景的恢复
此场景下用户尝试启动MySQL实例,但MySQL实例可能因数据库本身损坏而CRASH进程崩溃。
相关报错可能如下:
InnoDB: Waiting for the background threads to start InnoDB: Error: tablespace size stored in header is 3712 pages, but InnoDB: the sum of data file sizes is only 3072 pages InnoDB: Cannot start InnoDB. The tail of the system tablespace is InnoDB: missing. Have you edited innodb_data_file_path in my.cnf in an InnoDB: inappropriate way, removing ibdata files from there? InnoDB: You can set innodb_force_recovery=1 in my.cnf to force InnoDB: a startup if you are trying to recover a badly corrupt database. InnoDB: Assertion failure in thread 3876 in file ha_innodb.cc line 17352 InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to http://bugs.mysql.com. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. InnoDB: Assertion failure in thread 140154354255616 in file trx0purge.c line 848 InnoDB: Failing assertion: purge_sys->purge_trx_no <= purge_sys->rseg->last_trx_no InnoDB: We intentionally generate a memory trap. InnoDB: Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html for information about forcing recovery [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace database/table uses space ID: 882 at filepath [Note] InnoDB: Starting crash recovery. [ERROR] InnoDB: Tablespace 11904 was not found at ./example_db/ex