This section explains the different ways you can create an InnoDB cluster, the requirements for server instances and the software you need to install to deploy a cluster.
InnoDB cluster supports the following deployment scenarios:
Sandbox deployment: if you want to test out InnoDB cluster before committing to a full production deployment, the provided sandbox feature enables you to quickly set up a cluster on your local machine. Sandbox server instances are created with the required configuration and you can experiment with InnoDB cluster to become familiar with the technologies employed. See Section 20.3, “Sandbox Deployment of InnoDB Cluster” for instructions.
Production deployment: if you want to use InnoDB cluster in a full production environment you need to configure the required number of machines and then deploy your server instances to the machines. A production deployment enables you to exploit the high availability features of InnoDB cluster to their full potential. See Section 20.4, “Production Deployment of InnoDB Cluster” for instructions.
A sandbox deployment is not suitable for use in a full production environment.
Before installing a production deployment of InnoDB cluster, ensure that the server instances you intend to use meet the following requirements.
InnoDB cluster uses Group Replication and therefore your server instances must meet the same requirements. See Section 17.7.1, “Group Replication Requirements”. AdminAPI provides the
dba.checkInstanceConfiguration()method to verify that an instance meets the Group Replication requirements, and the
dba.configureLocalInstance()method to configure an instance to meet the requirements.Note
When using a sandbox deployment the instances are configured to meet these requirements automatically.
The provisioning scripts that MySQL Shell uses to configure servers for use in InnoDB cluster require access to Python version 2.7. For a sandbox deployment Python is required on the single machine used for the deployment, production deployments require Python on each server instance.
On Windows MySQL Shell includes Python and no user configuration is required. On Unix Python must be found as part of the shell environment. To check that your system has Python configured correctly issue:
$ /usr/bin/env python
If a Python interpreter starts, no further action is required. If the previous command fails, create a soft link between
/usr/bin/pythonand your chosen Python binary.
The method you use to install InnoDB cluster depends on the type of deployment you intend to use. For a sandbox deployment install the components of InnoDB cluster to a single machine. A sandbox deployment is local to a single machine, therefore the install needs to only be done once on the local machine. Similarly there is no need to connect to the instances individually for configuration, the sandbox instances are local. For a production deployment install the components to each machine that you intend to add to your cluster. A production deployment uses multiple remote host machines running MySQL server instances, so you need to connect to each machine using a tool such as SSH or Windows remote desktop to carry out tasks such as installing components and configuring the server instance. The following methods of installing InnoDB cluster are available:
Downloading and installing the components using the following documentation:
On Windows you can use the MySQL Installer for Windows for a sandbox deployment. For details, see Section 184.108.40.206.1, “InnoDB Cluster Sandbox Test Setup”.
Once you have installed the software required by InnoDB cluster choose to follow either Section 20.3, “Sandbox Deployment of InnoDB Cluster” or Section 20.4, “Production Deployment of InnoDB Cluster”.