MySQL Data Recovery
Percona MySQL Consulting can often recover lost or corrupted data from MyISAM and InnoDB tables or from corrupted MySQL binary logs and general query logs. We have created special data recovery software that can recover data from InnoDB tables. If you want to try InnoDB data recovery yourself, see Percona Data Recovery Tool for InnoDB.
These scenarios are often recoverable:
- You have accidentally deleted data in MySQL
- You have dropped your InnoDB tables
- You have truncated or recreated your MySQL tables
- You have InnoDB tablespace corruption that innodb_force_recovery will not repair
- Your MySQL database has filesystem corruption
We always encrypt your sensitive data, and we destroy our copy of it after we're done.
MySQL Data Recovery Prospects
InnoDB data recovery can be very successful because of InnoDB's page layout. Percona has developed MySQL data recovery procedures for InnoDB tables in all versions of MySQL in both the REDUNDANT page format and the newer COMPACT format. We can also recover InnoDB tables from both the single-tablespace and file-per-table modes.
MyISAM data recovery is less assured but is still often possible, depending on a mix of factors.
How To Prepare For MySQL Data Recovery
If you realize that you've lost data that you want to attempt to recover:
- Stop the MySQL Server immediately.
- Use kill -9 to for the quickest shutdown.
- Your goal is to prevent any further writes to disk.
- Unmount the filesystem or make it read-only if...
- You have filesystem corruption OR
- You have dropped tables in innodb_file_per_table format
- Make a copy of the original data including...
- All MyISAM data files
- All InnoDB tablespaces or partitions
- All log files
Items Needed For MySQL Data Recovery
Percona will need these items to begin any MySQL data recovery project:
- Access to the InnoDB data that needs to be recovered, either on your server or ours
- Exact details on what data you need to be recovered
- Instructions on your highest priority for recovery, because we typically can recover only one table at a time
- For dropped tables, we need table structure info. This can come from:
- A backup of the table OR
- SHOW CREATE TABLE OR
- The table's *.frm file.
- If you have an older uncorrupted backup of the data which needs recovery, that helps us a lot
- If you have sample data illustrating what needs to be recovered, that helps us a lot too
- Record the MySQL server and operating system versions
- Describe the circumstances that led up to the loss of data
How Percona Performs MySQL Data Recovery
We perform MySQL data recovery in two stages. First we analyze your data to see if it can be recovered and to estimate how much of the data we can recover. Sometimes, full recovery is impossible because data was already overwritten by MySQL or the operating system. We will also estimate how long recovery will take based on the data you provide. If you approve, we begin the recovery.
No Warranty on MySQL Data Recovery
We give our maximum best effort and we strive to recover as much MySQL data as is humanly possible. However, Percona requires upfront payment on all data recovery projects and there are no refunds if we are unsuccessful or only partially successful.
To Order MySQL or InnoDB Data Recovery
During weekday business hours (8-5 Pacific time) call our sales team. At any other time, 24x7, call our support emergency line at +1-877-862-4316. You will need to have a credit card to order.