Server Administration

Server Administration by Randall Box

Adding a Slave MySQL Server Using Percona Tools

Submitted by Randall Box on

The ability to create replicated servers using MySQL is one of the most useful features. You can create slave servers for redundancy, load balancing, development or testing purposes, and MySQL takes care of keeping the servers in sync. I will review simple slave server setup using the binary log (transactional) method.


The procedures below will work in many environments, but I outline mine as a reference point. You may need to alter the commands to work in yours.

Percona Server

Percona Server for MySQL is a distribution of MySQL with some proprietary tweaks designed for high performance and availability. I use the Percona Server distribution when possible, along with Percona tools such as backup and recovery and monitoring tools.

Percona Server is fully compatible with the base MySQL distribution and has a consistent version numbering scheme. The primary difference between base MySQL and the Percona distribution is that you have clearly-defined options for commercial support and advanced tools with Percona that you don't have with MySQL.


MySQL is a very tested and capable relational database server based on SQL, which supports various database engines including InnoDB. InnoDB is a transactional, locking database engine with strong data integrity features designed for mission critical workloads that demand concurrency, integrity and data protection.

Apache HTTP Server

Apache HTTP Server is one of the most popular, if not the most popular web server powering the internet. The default web server included with almost all Linux distributions, Apache is fast to get running and relatively easy to configure. I have extensive experience configuring and tuning Apache for many diverse workloads, including traditional HTML sites, dynamic pages, Drupal, Wordpress and high-traffic APIs. Yes, you can run high-traffic and high-availability APIs on Apache if tuned properly.