slider

Author: Aleksandr Kuzminsky

Xtrabackup And MySQL 5.6 On an Amazon Instance

Have you ever tried to install Xtrabackup on an Amazon EC2 instance with Oracle’s MySQL 5.6? Dependencies hell breaks loose when you ask for something as simple as running the GA version of MySQL and backing it up with the most popular open-source tool, XtraBackup. From this post you will learn how to resolve conflicts […]

Read More

How to Handle Wrong Page Type In External Pages

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

Read More

Presenting TwinDB Data Recovery Toolkit at the #SFMySQL Meetup

On 5 November, I’ll be speaking about Data Recovery Software for MySQL at the #SFMySQL Meetup. You might want to 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 Linux laptop. Further […]

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 about measurements. For a DBA, however, more tangible improvements come from a less popular area of database maintenance. While MariaDB spreads FUD around InnoDB (which still uses it), I have […]

Read More

Resolving Page Corruption In Compressed InnoDB Tables

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

InnoDB complains about a stored checksum being a zero. If you look closely, you’ll find it […]

Read More

Resolving ERROR 1050 42S01 At Line 1 Table Already Exists

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

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

Read More

Recover Table Structure From InnoDB Dictionary

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

Read More

Repair Corrupted InnoDB Tables With Secondary Index Corruption

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 don’t support its open source versions anymore. InnoDB provides no means to repair corrupted table space. Once a table got corrupted, the only way to repair MySQL files is to start it […]

Read More