EmergencyEMERGENCY? Get 24/7 Help Now!

MySQL Point in Time Recovery the Right Way

 | October 23, 2017 |  Posted In: Backups, GTID, MySQL, Replication

MySQL Point In Time Recovery

In this blog, I’ll look at how to do MySQL point in time recovery (PITR) correctly. Sometimes we need to restore from a backup, and then replay the transactions that happened after the backup was taken. This is a common procedure in most disaster recovery plans, when for example you accidentally drop a table/database or run […]

Read More

Group Replication: The Sweet and the Sour

 | August 1, 2017 |  Posted In: GTID, High-availability, InnoDB, MySQL, Percona XtraDB Cluster, PMM

Group Replication

In this blog, we’ll look at group replication and how it deals with flow control (FC) and replication lag.  Overview In the last few months, we had two main actors in the MySQL ecosystem: ProxySQL and Group-Replication (with the evolution to InnoDB Cluster).  While I have extensively covered the first, my last serious work on […]

Read More

The MySQL High Availability Landscape in 2017 (The Elders)

 | June 20, 2017 |  Posted In: Group Replication, GTID, High-availability, MySQL, Percona XtraDB Cluster

High Availability

In this blog, we’ll look at different MySQL high availability options. The dynamic MySQL ecosystem is rapidly evolving many technologies built around MySQL. This is especially true for the technologies involved with the high availability (HA) aspects of MySQL. When I joined Percona back in 2009, some of these HA technologies were very popular – […]

Read More

Managing Replication with Percona XtraDB Cluster

 | December 1, 2016 |  Posted In: GTID, High-availability, Percona XtraDB Cluster, Replication

Managing Replication

This blog post discusses managing replication with Percona XtraDB Cluster. Recently a customer asked me to setup replication between two distinct Percona XtraDB Clusters located in geographically separate data centers. The customer goal was to use one of the clusters only in case of disaster recovery. They tried extending the cluster, but because of the […]

Read More

Database Daily Ops Series: GTID Replication and Binary Logs Purge

 | December 1, 2016 |  Posted In: GTID, MySQL, Percona Managed Services

GTID replication

This blog continues the ongoing series on daily operations and GTID replication. In this blog, I’m going to investigate why the error below has been appearing in a special environment I’ve been working with on the last few days:

The error provides the right message, and explains what is going on. But sometimes, it can be a […]

Read More

Database Daily Ops Series: GTID Replication

 | November 10, 2016 |  Posted In: GTID, MySQL, Percona Managed Services

GTID Replication

This post discusses ways of fixing broken GTID replication. This blog series is all about the daily stories we have in Managed Services, dealing with customers’ environments (mostly when we need to quickly restore a service level within the SLA time). One of the issues we encounter daily is replication using the GTID protocol. While there are […]

Read More

How We Made MySQL Great Again, or Upgrading MySQL with Orchestrator

and  | April 26, 2016 |  Posted In: GTID, High-availability, MySQL, Orchestrator, Percona Server for MySQL, Replication

Upgrading MySQL with Orchestrator

In this blog post, we’ll discuss upgrading MySQL with Orchestrator. I recently had a client, Life360, that wanted to upgrade from Percona Server 5.5 to Percona Server 5.6, and implement GTID in their high transaction environment. They had co-masters and multiple read slaves. Orchestrator made this job much easier for us. My colleague, Tibi, recently posted […]

Read More

High availability with asynchronous replication… and transparent R/W split

 | February 25, 2016 |  Posted In: GTID, High-availability, MariaDB, Maxscale, MySQL

High availability with asynchronous replication

In this post, the first one of a Maxscale series, I describe how to use MariaDB’s MaxScale and MySQL-utilities with MySQL Asynchronous replication. When we talk about high availability with asynchronous replication, we always think about MHA or PRM. But if we want to transparently use the slave(s) for READs, what can we use ? Description: […]

Read More

Fixing errant transactions with mysqlslavetrx prior to a GTID failover

 | December 2, 2015 |  Posted In: GTID, MySQL

GTID and errant transactions

Errant transactions are a major issue when using GTID replication. Although this isn’t something new, the drawbacks are more notorious with GTID than with regular replication. The situation where errant transaction bites you is a common DBA task: Failover. Now that tools like MHA have support for GTID replication (starting from 0.56 version), this protocol […]

Read More

How to setup a PXC cluster with GTIDs (and have async slaves replicating from it!)

 | February 20, 2015 |  Posted In: GTID, MySQL, Percona XtraBackup, Percona XtraDB Cluster

This past week was marked by a series of personal findings related to the use of Global Transaction IDs (GTIDs) on Galera-based clusters such as Percona XtraDB Cluster (PXC). The main one being the fact that transactions touching MyISAM tables (and FLUSH PRIVILEGES!) issued on a giving node of the cluster are recorded on a GTID set […]

Read More