by Stephane Combaudon | Dec 30, 2014 | MySQL, Percona Software
State Snapshot Transfer (SST) is used in Percona XtraDB Cluster (PXC) when a new node joins the cluster or to resync a failed node if Incremental State Transfer (IST) is no longer available. SST is triggered automatically but there is no magic: If it is not configured...
by Stephane Combaudon | Dec 18, 2014 | Insight for DBAs, MySQL, Percona Software
HAProxy is frequently used as a software load balancer in the MySQL world. Peter Boros, in a past post, explained how to set it up with Percona XtraDB Cluster (PXC) so that it only sends queries to available nodes. The same approach can be used in a regular...
by Stephane Combaudon | Dec 1, 2014 | Insight for DBAs, MySQL, Percona Software
By default in MySQL 5.6, each time MySQL is started (regular start or crash recovery), it iterates through all the binlog files when GTIDs are not enabled. This can take a very long time if you have a large number of binary log files. MySQL and Percona Server 5.6.21+...
by Stephane Combaudon | Nov 24, 2014 | Insight for DBAs, MySQL
People using OpenStack Trove instances can hit a common issue in the MySQL world: how to perform schema change operations while minimizing the impact on the database server? Let’s explore the options that can allow online schema changes. Summary With MySQL 5.5,...
by Stephane Combaudon | Nov 17, 2014 | Insight for DBAs, MySQL
Even if a Galera node looks like a regular MySQL server, the underlying replication mechanism is very different. This implies some changes in the way you have to configure the Galera nodes. Here are some of the most common misconceptions about Galera when using this...
by Stephane Combaudon | Nov 4, 2014 | MySQL, Percona Software
Percona Toolkit’s pt-table-checksum is a great tool to find data inconsistencies between a MySQL master and its replicas. However it is sometimes not enough to know that there are inconsistencies and let pt-table-sync fix the issue: you may want to know which...
by Stephane Combaudon | Oct 7, 2014 | Insight for DBAs, MySQL, Percona Services
I’ve recently worked with customers using replication rings with 4+ servers; several servers accepting writes. The idea behind this design is always the same: by having multiple servers, you get high availability and by having multiple writer nodes, you get...
by Stephane Combaudon | Oct 3, 2014 | Insight for DBAs, MySQL
HAProxy is frequently used as a load-balancer in front of a Galera cluster. While diagnosing an issue with HAProxy configuration, I realized that logging doesn’t work out of the box on CentOS 6.5. Here is a simple recipe to fix the issue. If you look at the top...
by Stephane Combaudon | Sep 29, 2014 | Insight for DBAs, MySQL
MySQL is the database of choice for most OpenStack components (Ceilometer is a notable exception). If you start with a small deployment, it will probably run like a charm. But as soon as the dataset grows, you will suddenly face several challenges. We will write a...
by Stephane Combaudon | Sep 5, 2014 | MySQL, Percona Services, Webinars
Thank you to all of you who attended my webinar last week about Global Transaction IDs (GTIDs), which were introduced in MySQL 5.6 to make the reconfiguration of replication straightforward. If you missed my webinar, you can still listen to the recording and download...
by Stephane Combaudon | Aug 20, 2014 | Insight for DBAs, MySQL, Percona Services, Webinars
Reconfiguring replication has always been a challenge with MySQL. Each time the replication topology has to be changed, the process is tedious and error-prone because finding the correct binlog position is not straightforward at all. Global Transaction IDs (GTIDs)...
by Stephane Combaudon | Jul 25, 2014 | Insight for DBAs, MySQL, Percona Software
Monitoring flow control in a Galera cluster is very important. If you do not, you will not understand why writes may sometimes be stalled. Percona XtraDB Cluster 5.6 provides 2 status variables for such monitoring: wsrep_flow_control_paused and...
by Stephane Combaudon | Jun 27, 2014 | Insight for DBAs, MySQL
MySQL Utilities are a set of tools provided by Oracle to perform many kinds of administrative tasks. When GTID-replication is enabled, 2 tools can be used for slave promotion: mysqlrpladmin and mysqlfailover. We will review mysqlrpladmin (version 1.4.3) in this post....
by Stephane Combaudon | May 19, 2014 | Insight for DBAs, MySQL
I have previously written about the new replication protocol that comes with GTIDs in MySQL 5.6. Because of this new replication protocol, you can inadvertently create errant transactions that may turn any failover to a nightmare. Let’s see the problems and the...
by Stephane Combaudon | May 9, 2014 | Insight for DBAs, MySQL
One of the MySQL 5.6 features many people are interested in is Global Transactions IDs (GTIDs). This is for a good reason: Reconnecting a slave to a new master has always been a challenge while it is so trivial when GTIDs are enabled. However, using GTIDs is not only...
by Stephane Combaudon | Mar 6, 2014 | Insight for DBAs, MySQL
I recently worked on an uncommon slow query: less than 100 rows were read and returned, the whole dataset was fitting in memory but the query took several seconds to run. Long story short: the query was a join involving 21 tables, running on MySQL 5.1. But by default...
by Stephane Combaudon | Jan 28, 2014 | Insight for DBAs, MySQL
Note: This blog has been updated for MySQL 5.7 here! In this blog, we’re going to discuss the top ten MySQL performance tuning settings that you can implement after an installation. When we are hired for a MySQL performance audit, we are expected to review the...
by Stephane Combaudon | Dec 3, 2013 | Insight for DBAs, MySQL
INFORMATION_SCHEMA is usually the place to go when you want to get facts about a system (how many tables do we have? what are the 10 largest tables? What is data size and index size for table t?, etc). However it is also quite common that such queries are very slow...
by Stephane Combaudon | Oct 11, 2013 | Insight for DBAs, MySQL, Percona Software
I recently had a case where replication lag on a slave was caused by a backup script. First reaction was to incriminate the additional pressure on the disks, but it turned out to be more subtle: Percona XtraBackup was not able to execute FLUSH TABLES WITH READ LOCK...
by Stephane Combaudon | Aug 1, 2013 | Insight for Developers, MongoDB, MySQL
For people used to relational databases and doing MySQL database design, using NoSQL solutions such as MongoDB brings interesting challenges. One of them is schema design: while in the relational world, normalization is a good way to start, how should we design our...