Openstack Charmers Next Mysql Router

  • By OpenStack Charmers - Testing Charms
  • Cloud
juju deploy openstack-charmers-next-mysql-router
Show information
You will need Juju 2.9 to be able to run this command. Learn how to upgrade to Juju 2.9.
Channel Version Revision Published Runs on
latest/stable 63 63 20 Jan 2022
Ubuntu 21.10 Ubuntu 21.04 Ubuntu 20.10 Ubuntu 20.04

Platform:

Ubuntu
20.04 20.10 21.04 21.10

About

MySQL Router Read more


Relevant links


Discuss this charm

Share your thoughts on this charm with the community on discourse.

Join the discussion

Overview

The mysql-router charm provides a MySQL 8 Router; it proxies database requests from a principle application to a MySQL 8 InnoDB Cluster. MySQL Router handles cluster communication and understands the cluster schema.

It is a subordinate charm that is used in conjunction with the mysql-innodb-cluster charm. It is also used with a principle charm that supports the 'mysql-shared' interface. The current list of such charms can be obtained from the Charm Store (the charms officially supported by the OpenStack Charms project are published by 'openstack-charmers').

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 deployed as a subordinate to a principle application and then related to the central mysql-innodb-cluster application:

principle charm A <---> mysql-router A <--->
principle charm B <---> mysql-router B <---> mysql-innodb-cluster
principle charm C <---> mysql-router C <--->

Configuration

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

Deployment

To deploy a MySQL 8 Router for joining, say, Keystone to the cloud database:

juju deploy mysql-router keystone-mysql-router

Note: The mysql-router application is typically given a name that corresponds to the associated principle application.

Add a relation to the principle application (via the shared-db endpoint):

juju add-relation keystone:shared-db keystone-mysql-router:shared-db

Then add a relation to the mysql-innodb-cluster application (via the db-router endpoint):

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

Important: When network spaces are used, the mysql-router and mysql-innodb-cluster charms must be configured such that the 'db-router' endpoint is bound to the same space.

Scale out is accomplished by adding units to the principle application:

juju add-unit keystone

Note: If more than one mysql-router application is placed on the same machine the base-port configuration option is needed to ensure non-conflicting TCP port numbers are used (the default is '3306').

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 --schema mysql-router. If the charm is not deployed then see file actions.yaml.

  • stop-mysqlrouter
  • start-mysqlrouter
  • restart-mysqlrouter

Documentation

The OpenStack Charms project maintains two documentation guides:

Bugs

Please report bugs on Launchpad.