charm-mysql-innodb-cluster/src
Peter Matulis b45f5b00b9 Fix code block and move section
Change-Id: I272144ab7bab470ba5e627eb67451c449ce42a82
2020-08-04 21:53:05 -04:00
..
actions Enable MySQL TLS 2020-07-08 11:08:47 -07:00
files Upstream charm 2019-10-17 09:09:50 -07:00
lib Set expel timeout to 5 seconds 2020-07-23 16:27:43 +03:00
reactive Set expel timeout to 5 seconds 2020-07-23 16:27:43 +03:00
templates Enable MySQL TLS 2020-07-08 11:08:47 -07:00
tests Add Groovy test bundles 2020-07-10 17:37:09 +02:00
HACKING.md Documentation corrections 2019-11-08 13:29:32 -08:00
README.md Fix code block and move section 2020-08-04 21:53:05 -04:00
actions.yaml Scale in and scale out 2020-05-18 17:47:42 -07:00
config.yaml Set expel timeout to 5 seconds 2020-07-23 16:27:43 +03:00
icon.svg MySQL InnoDB Cluster Charm 2019-10-04 14:05:20 -07:00
layer.yaml Enable MySQL TLS 2020-07-08 11:08:47 -07:00
metadata.yaml Updates for 20.08 cycle start for groovy and libs 2020-06-02 14:33:08 +01:00
test-requirements.txt Upstream charm 2019-10-17 09:09:50 -07:00
tox.ini Upstream charm 2019-10-17 09:09:50 -07:00
wheelhouse.txt Enable MySQL TLS 2020-07-08 11:08:47 -07:00

README.md

Overview

The mysql-innodb-cluster charm deploys a MySQL 8 InnoDB clustered database. It is used in conjunction with the mysql-router charm.

Important: The eoan series is the first series supported by the mysql-innodb-cluster and mysql-router charms. These charms replace the percona-cluster charm starting with the focal series.

Usage

The charm is intended for deploying a cluster (minimum of three nodes) and therefore does not deploy on a single unit.

Configuration

See file config.yaml for the full list of configuration options, along with their descriptions and default values.

Deployment

To deploy a three-node cluster:

juju deploy -n 3 mysql-innodb-cluster

The name of the cluster can be customized at deploy time:

juju deploy -n 3 mysql-innodb-cluster --config cluster-name myCluster

Add a relation to a MySQL 8 Router (via the db-router endpoint):

juju add-relation mysql-innodb-cluster:db-router msyql-router:db-router

A relation can be made to charms that use the shared-db endpoint, however this should be considered deprecated:

juju add-relation mysql-innodb-cluster:shared-db keystone:shared-db

Nodes can be added to the cluster as Read Only nodes:

juju add-unit mysql-innodb-cluster

See OpenStack high availability in the OpenStack Charms Deployment Guide for more deploy instructions.

TLS

TLS communication between MySQL InnoDB Cluster and its cloud clients is supported.

Due to the circular dependency between the vault and mysql-innodb-cluster applications, the enablement of this feature can only be done post-deployment (once vault has been initialised and has a root Certificate Authority).

Enable database TLS communication with this relation:

juju add-relation mysql-innodb-cluster:certificates vault:certificates

Actions

This section lists Juju actions supported by the charm. Actions allow specific operations to be performed on a per-unit basis. To display action descriptions run juju actions mysql-innodb-cluster. If the charm is not deployed then see file actions.yaml.

  • add-instance
  • cluster-rescan
  • cluster-status
  • mysqldump
  • reboot-cluster-from-complete-outage
  • rejoin-instance
  • remove-instance
  • restore-mysqldump
  • set-cluster-option

Bugs

Please report bugs on Launchpad.

For general charm questions refer to the OpenStack Charm Guide.