Rootconf 2016

Rootconf is India's principal conference where systems and operations engineers share real world knowledge about building resilient and scalable systems.

Colin Charles


Best Practices for MySQL High Availability

Submitted Mar 1, 2016

The MySQL ecosystem is 21 years old which means there are plenty of solutions for you to use, or stuff that you may have used. Learn from best practices over the years, and use tools that are current for your next deployment.


The MySQL world is full of tradeoffs and choosing a High Availability (HA) solution is no exception. This session aims to look at all of the alternatives in an unbiased nature. Preference is of course only given to opensource solutions.

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. There are now even “modern” tools to assist in automation like Orchestrator, Consul, MariaDB MaxScale & MySQL Router.

This and more will be covered in a walkthrough of MySQL HA options and when you will apply them.


Ideally, a Linux or Mac laptop which can run MySQL Sandbox so you can install a few instances of MySQL or MariaDB Server. If we have access to a fast Internet connection, this can be then done in EC2 or a cloud provider, so access to one of those accounts.

Speaker bio

Colin Charles works on the MariaDB Server at MariaDB Corporation. 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 APAC, and has spoken at many conferences to boot.


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

We care about site reliability, cloud costs, security and data privacy