A few weeks back, I was working on a customer issue wherein they were observing database performance that dropped through the floor (to the point of an outage) roughly every 4 weeks or so. Nothing special about the environment, the hardware, or the queries; really, the majority of the database was a single table with [...]
Introducing the “Version Check” Feature in Percona Toolkit
Recently there has been a storm of bugs and problems in all variants of MySQL including MySQL, Percona Server, and MariaDB. To list a few: MySQL 5.5.25 UPDATE on InnoDB table enters recursion, consumes all disk space All MariaDB and MySQL versions up to 5.1.61, 5.2.11, 5.3.5, 5.5.22 Security vulnerability in MySQL/MariaDB sql/password.c MySQL 5.1.61 [...]
Full Text Search Webinar Questions Followup
I presented a webinar this week to give an overview of several Full Text Search solutions and compare their performance. Even if you missed the webinar, you can register for it, and you’ll be emailed a link to the recording. During my webinar, a number of attendees asked some good questions. Here are their questions and my [...]
Percona XtraDB Cluster: Multi-node writing and Unexpected deadlocks
Percona XtraDB Cluster (PXC) and the technology it uses (Galera) is an exciting alternative to traditional MySQL replication. For those who don’t know, it gives you: Fully Synchronous replication with a write latency increase equivalent to a ping RTT to the furthest node Automatic cluster synchronization, both incremental and full restores The ability to read [...]
MySQL Indexing Best Practices: Webinar Questions Followup
I had a lot of questions on my MySQL Indexing: Best Practices Webinar (both recording and slides are available now) We had lots of questions. I did not have time to answer some and others are better answered in writing anyway. Q: One developer on our team wants to replace longish (25-30) indexed varchars with [...]
DROP TABLE and stalls: Lazy Drop Table in Percona Server and the new fixes in MySQL
Suppose you have turned on innodb_file_per_table (which means that each table has its own tablespace), and you have to drop tables in a background every hour or every day. If its once every day then you can probably schedule the table dropping process to run during off-peak hours. But I have seen cases where the [...]
On Character Sets and Disappearing Tables
The MySQL manual tells us that regardless of whether or not we use “SET FOREIGN_KEY_CHECKS=0″ before making schema changes, InnoDB will not allow a column referenced by a foreign key constraint to be modified in such a way that the foreign key will reference a column with a mismatched data type. For instance, if we [...]
Percona XtraDB Cluster reference architecture with HaProxy
This post is a step-by-step guide to set up Percona XtraDB Cluster (PXC) in a virtualized test sandbox. I used Amazon EC2 micro instances, but the content here is applicable for any kind of virtualization technology (for example VirtualBox). The goal is to give step by step instructions, so the setup process is understandable and [...]
Comparing Percona XtraDB Cluster with Semi-Sync replication Cross-WAN
I have a customer who is considering Percona XtraDB Cluster (PXC) in a two colo WAN environment. They wanted me to do a test comparing PXC against semi-synchronous replication to see how they stack up against each other. Test Environment The test environment included AWS EC2 nodes in US-East and US-West (Oregon). The ping RTT latency [...]
Migrating to XtraDB Cluster Webinar follow up questions
Thanks to all who attended my webinar today. The session was recorded and will be available to watch for free soon here. There were a lot of great questions asked during the session, so I’d like to take this opportunity to try to answer a few of them: Q: Is there an easy way to [...]

