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.
- MySQL InnoDB Cluster guide
- MySQL InnoDB cluster: Navigating the cluster
- MySQL InnoDB cluster: A hands on tutorial
- MySQL InnoDB cluster: Setting up an InnoDB cluster on Windows
- MySQL InnoDB Cluster – Preparing a Linux VM for a Real-World Cluster
- MySQL InnoDB Cluster – Real-World Cluster Tutorial for Ubuntu and Debian
- MySQL InnoDB Cluster – Real-World Cluster Tutorial for OEL, Fedora, RHEL and CentOS