slider

Author: Aleksandr Kuzminsky

Xtrabackup and MySQL 5.6 on Amazon instance

Have you ever tried to install Xtrabackup on Amazon EC2 instance with Oracle’s MySQL 5.6? Dependencies hell strikes when you ask pretty common and reasonable thing – run the GA version of MySQL and backup it with the most popular open-source tool – XtraBackup. From this post you will learn how to resolve the conflicts […]

Read More

How to handle wrong page type in external pages

First step of successful MySQL data recovery is to find InnoDB pages with your data. Let’s call it first, because prerequisite steps are already done. InnoDB page type is a two bytes integer stored in the header of a page. For MySQL data recovery two are important: FIL_PAGE_INDEX. Pages of this type are nodes of […]

Read More

Presenting TwinDB Data Recovery Toolkit on #SFMySQL Meetup

On 5 November, I’ll be speaking at #SFMySQL Meetup about Data Recovery Software for MySQL Add Slipped & DROP’d your TABLE? Recover w/TwinDB’s Undrop for InnoDB toolkit to your calendar. There will be a demo and if you want to try to undrop a table yourself bring in a laptop with Linux. Download the latest […]

Read More

Temporary table naming scheme in 5.6 and before

Benchmarking is a popular topic. People love drawing graphs as much as watching how X is 10% faster than Y; there must be something special in measurements. For a DBA, however, more tangible improvements come from less popular area of database maintenance. While MariaDB spreads FUD around InnoDB (nonetheless still uses it) I have to […]

Read More

Resolving page corruption in compressed InnoDB tables

Sometimes corruption is not the true corruption. Corruption in compressed InnoDB tables may be a false positive. Compressed InnoDB table may hit false checksum verification failure. The bug (http://bugs.mysql.com/bug.php?id=73689) reveals itself in the error log as follows:

InnoDB complains that a stored checksum is zero. If you look closely it’s suspicious that calculated checksum […]

Read More

Resolving ERROR 1050 42S01 at line 1 Table already exists

When ALTER TABLE crashes MySQL server it leaves orphaned records in InnoDB dictionary. It is annoying because next time you run the same ALTER TABLE query it will fail with error:

The post explains why it happens and how to fix it. When you run ALTER table InnoDB follows the plan: Block the original […]

Read More

Recover Table Structure From InnoDB Dictionary

When a table gets dropped MySQL removes respective .frm file. This post explain how to recover table structure if the table was dropped. You need the table structure to recover a dropped table from InnoDB tablespace. The B+tree structure of InnoDB index doesn’t contain any information about field types. MySQL needs to know that in […]

Read More

Take image from corrupted hard drive

There are at least two cases when it makes sense to take an image from a corrupted hard drive as soon as possible: disk hardware errors and corrupted filesystem. Faulty hard drives can give just one chance to read a block, so there is no time for experiments. The similar picture with corrupted filesystems. Obviously something […]

Read More

Repair Corrupted InnoDB Table with Corruption in Secondary Index

UPDATE: We announced online data recovery from corrupt databases. Check it out on https://recovery.twindb.com/ UPDATE (01/01/2017): We stopped further development of undrop-for-innodb and do not support its open source versions. InnoDB provides no means to repair corrupted table space. Once a table got corrupt the only way to repair MySQL files is to start it […]

Read More