Percona XtraDB Cluster Deployment

ALL TABLES MUST USE INNODB or the feature set is thrown out the window.

In each case, do not create a .my.cnf file for root, as it can interfere with installation and initialization. Use a separate user to connect to MySQL as.

When you initially install the Percona database, use the same root password across nodes to begin with. When syncing begins, the mysql database will be overriden anyway, so to avoid confusion, keep it the same on setup across all nodes.

The first thing to do is setup a primary node. You'll need the configuration file from the main wiki page.

Open a firewall rule so that the secondary nodes can access MySQL directly. The TCP ports that need to be opened are 3306, 4444, 4567, and 4568.

Startup the primary node, and watch the error log closely for any warnings that may arise.

Once the master node is setup, you can move to the secondary ones. Use the same config file from the original server, making the small modifications for the node. Startup the node, and be patient as it takes some time for the initial startup and sync – the mysql socket file won't be available for a few seconds to a minute.

Each Ubuntu installation creates an admin MySQL configuration file in /etc/mysql/debian.cnf that is used for maintenance and initialization. Once the node database is started, copy the debian.cnf file from the primary node to the secondary one. The reason being that the mysql database is overwritten by the primary node, and the old access credentials won't work locally.

Go ahead and create some test databases or tables to verify synchronization.