]]> ]]>

You are here

MySQL Database 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 assist with MySQL database recovery from InnoDB tables to assist with your MySQL restore. If you want to try InnoDB data recovery yourself, see the Percona Data Recovery Tool for InnoDB.

These scenarios are often recoverable:

  • Accidentally deleted data in MySQL
  • Dropped InnoDB tables
  • Truncated or recreated MySQL tables
  • InnoDB tablespace corruption that innodb_force_recovery will not repair
  • MySQL database with a filesystem corruption

We always encrypt your sensitive data and we destroy our copy of it after we are 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 have 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 database 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
    • 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 recover MySQL database data 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 process to complete your MySQL restore database project.

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 a credit card to order.