slider

Author: Aleksandr Kuzminsky

How To Setup MySQL Incremental Backup

TwinDB console

Incremental backups in MySQL have always been a tricky exercise. Logical backup tools like mysqldump or mydumper don’t support incremental backups, although it’s possible to emulate them with binary logs. And with snapshot-based backup tools it’s close to impossible to take incremental copies. Percona’s XtraBackup does support incremental backups, but you have to understand well […]

Read More

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