Skip to main content

Best Practices for MySQL High Availability

Colin Charles (Percona)
Databases & Datastores | Operations & System Administration
Tutorial Please note: to attend, your registration must include Tutorials.
Average rating: ***..
(3.25, 4 ratings)


How do you choose between: MySQL replication, MHA, DRBD, Tungsten, Galera Cluster? Do you integrate Pacemaker and Heartbeat like Percona Replication Manager? Is NDB Cluster right for your workload? The cloud brings even more fun as geographical redundancy is rolled into this.

  • Effectively understand the HA landscape around MySQL.
  • Effectively understand the HA landscape from an operating system perspective.
  • Choose between MySQL replication, MySQL High Availability (MHA), DRBD, Tungsten Replicator, and Galera Cluster.
  • Cover when MySQL Cluster (NDBCLUSTER) is right for use.
  • How to have HA in the cloud.
  • Sharding solutions, that are not limited to JetPants, Vitess or SPIDER.
  • MySQL 5.6 comes with new replication features that also come with utilities to help with orchestration of failover management – how do you take advantage of this?
  • How do you achieve geographical redundancy?
  • Understand Percona Replication Manager (PRM) and the Percona Toolkit for replication purposes.
  • The upcoming roadmap including MySQL Fabric.

The deep dives cover the MySQL HA landscape, MHA, Galera Cluster and Tungsten Replicator.


* A Linux/Mac laptop is preferred with the ability to install MySQL Sandbox.
* This can also be done in a virtual machine (Virtualbox images will be provided).
* Access to AWS EC2 can be useful as well.

QUESTIONS for the speaker?: Use the “Leave a Comment or Question” section at the bottom to address them.

Photo of Colin Charles

Colin Charles


Colin Charles works on MariaDB at SkySQL. He has been the Chief Evangelist for MariaDB since 2009, with work ranging from speaking engagements to consultancy and engineering works around MariaDB. He lives in Kuala Lumpur, Malaysia and had worked at MySQL since 2005, and been a MySQL user since 2000. Before joining MySQL, he worked actively on the Fedora and projects. He’s well known within open source communities in Asia and Australia, and has spoken at many conferences to boot.

Comments on this page are now closed.


Picture of Colin Charles
Colin Charles
07/08/2014 11:37am PDT

Hi Sarkis – there will be virtual machines for you to use, so please install Virtualbox before attending. Windows and binaries are fine, the thing is replication requires running more than one instance, and that’s much easier with Sandbox (or in a VM). See you soon.

Picture of Sarkis Dallakian
Sarkis Dallakian
07/08/2014 6:53am PDT

I plan on bringing my Windows laptop and I wonder if I can use MySQL Community Server for Windows from instead of MySQL Sandbox. Looking forward to attending this tutorial and OSCON 2014.

Picture of Colin Charles
Colin Charles
06/30/2014 4:12am PDT

Hi Glenn,

Once you have a vagrant setup, you will have a base OS (say Centos, Debian, etc.). MySQL Sandbox ( is an easy install that you just have to point a tarball to.

So once your vagrant environment is up and running, you just have to do: make_sandbox mysql-ver.tar.gz

Yes, it does make assumptions of keeping thing in ~/sandboxes, and if you have two conflicting versions, you don’t just take the default – you edit the sandbox config file. But for most instances (and this tutorial) you don’t do that.

As to how much you’ll get out of this without a working MySQL Sandbox – a lot. I’m happy to help you fix this before the tutorial as well, if you somehow can’t get it to work.

Hope this helps.

Picture of Glenn Engstrand
Glenn Engstrand
06/21/2014 9:16am PDT

I am having some trouble getting MySql Sandbox to work under vagrant. It seems to have a lot of assumptions about where things are. For example, it expects the mysql configuration files to be in the bin directory.

Do you have advise for running MySql Sandbox under vagrant?

How much will I be able to get out of this workshop without a working version of MySql Sandbox?