October 30, 2014

Recover orphaned InnoDB partition tablespaces in MySQL

A few months back, Michael wrote about reconnecting orphaned *.ibd files using MySQL 5.6. I will show you the same procedure, this time for partitioned tables. An InnoDB partition is also a self-contained tablespace in itself so you can use the same method described in the previous post. To begin with, I have an example […]

Galera replication – how to recover a PXC cluster

Galera replication for MySQL brings not only the new, great features to our ecosystem, but also introduces completely new maintenance techniques. Are you concerned about adding such new complexity to your MySQL environment? Perhaps that concern is unnecessarily. I am going to present here some simple tips that hopefully will let fresh Galera users prevent […]

How to recover table structure from .frm files with MySQL Utilities

Table structures are stored in .frm files and in the InnoDB Data Dictionary. Sometimes, usually in data recovery issues, we need to recover those structures to be able to find the lost data or just to recreate the tables. There are different ways to do it and we’ve already written about it in this blog. […]

Q&A: Geographical disaster recovery with Percona Replication Manager

My December 4 webinar, “Geographical disaster recovery with  Percona Replication Manager (PRM),”  gave rise to a few questions. The recording of the webinar and the slides are available here, and I’ve answered the questions I didn’t have time to address below. Q1: Hi, I was wondering if corosync will work in cloud environment. As far as […]

Geographical disaster recovery with PRM: Register for Dec. 4 Webinar

Downtime caused by a disaster is probable in your application’s lifetime. While caused by a large-scale geographical disaster, cyber attack, spiked consumer demand, or a relatively less catastrophic event, downtime equates to lost business. Setting up geographical disaster recovery (geo-DR) has always been challenging but Percona replication manager (PRM) with booth provides a solution for […]

How to recover an orphaned .ibd file with MySQL 5.6

A few years ago Yves Trudeau and Aleksandr Kuzminsky wrote posts about different ways for recovering orphaned .ibd files: Connecting orphaned .ibd files A recovery trivia or how to recover from a lost ibdata1 file Today I want to show you how to do that in more easy and quick way. In my example I’ll […]

Recovering temporal types in MySQL 5.6: TIME, TIMESTAMP and DATETIME

MySQL 5.6 introduces a new feature – microseconds resolution in some temporal types. As of 5.6.4 TIME, TIMESTAMP and DATETIME can have a fractional part. To create a field with subseconds you can specify precision in brackets: TIME(3), DATETIME(6) etc. Obviously, the new feature requires the format change. All three types may now have a […]

Finally. How to verify if all MySQL records were recovered

After nearly every recovery case the same question arises: How many MySQL records were recovered and how many were lost. Until now there was no way to answer the question without manual investigation. As it turned out a small change can make a big difference. There are two ways to know how many records an […]

How to recover table structure from InnoDB dictionary

To recover a dropped or corrupt table with Percona Data Recovery Tool for InnoDB you need two things: media with records(ibdata1, *.ibd, disk image, etc.) and a table structure. Indeed, there is no information about the table structure in an InnoDB page. Normally we either recover the structure from .frm files or take it from […]

Recovering from a bad UPDATE statement

Did you just run an UPDATE against your 10 million row users table without a WHERE clause?  Did you know that in MySQL 5.5 that sometimes you can recover from a bad UPDATE statement?  This is possible if you are running in binlog_format=ROW ! Imagine this scenario:

We run an accidental UPDATE statement that […]