Mysql Router
- By OpenStack Charmers
- Cloud
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/edge | 108 | 12 Sep 2023 | |
8.0/stable | 111 | 13 Sep 2023 | |
8.0/edge | 95 | 04 Aug 2023 | |
dpe/edge | 110 | 12 Sep 2023 | |
8.0.19/stable | 26 | 05 May 2022 | |
8.0.19/edge | 26 | 05 May 2022 |
juju deploy mysql-router --channel 8.0/stable
You will need Juju 2.9 to be able to run this command. Learn how to upgrade to Juju 2.9.
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
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.
Important: This documentation supports version 3.x
of the Juju client.
See the OpenStack Charm
guide if you are using the 2.9.x
client.
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 integrate keystone:shared-db keystone-mysql-router:shared-db
Then add a relation to the mysql-innodb-cluster application (via the db-router endpoint):
juju integrate 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:
- OpenStack Charm Guide: for project information, including development and support notes
- OpenStack Charms Deployment Guide: for charm usage information
Bugs
Please report bugs on Launchpad.
Help us improve this documentation
Most of this documentation can be collaboratively discussed and changed on the respective topic in the doc category of the Charmhub forum. See the documentation guidelines if you’d like to contribute.