MySQL InnoDB Cluster – Setting up a Real-World Cluster
Mysql 12-Apr-2017

MySQL InnoDB Cluster – Setting up a Real-World Cluster

Nowadays, it’s very important to have a high availability solution that gives you serenity and security for your data. The task of ensuring your data will always be available is a challenging one, that not everyone wants to do because it demands a lot of knowledge about tools, configuration, and technologies.

MySQL InnoDB cluster

The good news is that MySQL provides a complete suite of products to set up a reliable high availability configuration for your application’s data, while not giving up the familiar and powerful features of the InnoDB storage engine: InnoDB cluster.

Existing MySQL administration knowledge is not required. Whether you’re an advanced user who wants to automate and improve tooling around replication maintenance, or a novice user interested in trying out high availability solutions, the new tools make the task  much simpler than previously possible.

The two main tools required to accomplish an easy and fast setup are:

MySQL Shell

  • Configure and do all the backstage work
  • Create a cluster
  • Add and remove instances to the cluster
  • Monitor the cluster
  • Cluster management
  • Besides doing queries, updates and  administration operations to the instances

MySQL Router

  • Create a proxy for the cluster
  • Route database traffic

In a production environment, a cluster should obviously be created in separate hosts in the network. So if one instance goes down because of a hardware or system problem, the other instances can take over its place.  But to make testing or just trying things out easier, MySQL Shell has a built in functionality that let you create a cluster with multiple instances on the same host, a sandbox cluster with sandbox instances of MySQL.

The following diagram illustrates how a typical production setup of an InnoDB cluster looks like:

 

Requirements

To start using InnoDB cluster you need to install the following:

  • MySQL Server 5.7.17 or higher
  • MySQL Shell 1.0.8 or higher
  • MySQL Router 2.1.2 or higher

The host needs to meet the following requisites:

  • Python 2.7.x
  • Host mapping already configured for the hosts that will compound the InnoDB cluster

As you can see the requirements are minimum, and it’s highly possible that your hosts already meets them.

MySQL InnoDB clusters are a free and open source solution for high availability, with minimum requirements, simple installation and ease of user with big benefits. Start working with InnoDB cluster and discover how it can change your data management. Take a look at the previous blog posts and the official documentation. Start learning and testing, then you will have a better view how you can incorporate InnoDB in your work.