Legacy charm

Historically, there were several legacy charms that provided MySQL/MariaDB functionality:

Legacy VM charms

Legacy K8s charms

MariaDB

OSM MariaDB

Percona Cluster

MySQL Innodb Cluster

These legacy charms provided endpoints mysql and mysql-root for the interface mysql.

This Charmed MySQL operator is a modern charm - i.e. it is based on the Ops framework and designed to replace all legacy interfaces and endpoints of legacy charms.

The modern charm provides old endpoints as well as the new endpoint database for the interface mysql_client.

See all available endpoints/interfaces for Charmed MySQL on Charmhub:

The default track latest vs. 8.0

The default track has been switched from the latest to 8.0 for both VM and K8s MySQL charms.

This was done to ensure all new deployments use a modern codebase. For more context, see this Discourse topic.

We strongly advise against using the latest track, as a future charm upgrade may result in a MySQL version incompatible with an integrated application. Track 8.0 guarantees MySQL 8.0 deployment only.

The track latest is closed to avoid confusion.

How to migrate from legacy to modern charm

The modern charm provides temporary support for legacy interfaces.

Quick try: Relate the current application with new charm using endpoint mysql (set the channel to 8.0/stable). No extra changes are necessary:

mysql:
charm: mysql
channel: 8.0/stable
trust: true
mysql:
charm: mysql-k8s
channel: 8.0/stable
trust: true

Note

The trust option must be enabled if Role Based Access Control (RBAC) is in use in your Kubernetes.

Proper migration: Migrate the application to the new interface mysql_client.

The application will connect MySQL using data_interfaces library from data-platform-libs via the database endpoint.

Caution

In-place upgrades from the legacy charm to the modern, Ops-based charm are not supported.

To migrate database data, see the following guides:

How to deploy a legacy MySQL charm

mariadb:
charm: mariadb
channel: latest/stable

percona-cluster:
charm: percona-cluster
channel: latest/stable
osm-mariadb:
charm: charmed-osm-mariadb-k8s
channel: latest/stable

mysql:
charm: mysql-innodb-cluster
channel: 8.0/stable

Supported MySQL versions by modern charm

Both K8s and VM modern charms support MySQL 8.0 (based on Jammy/22.04 series) only.

Please contact us if you need different versions/series.

Supported architectures

Currently, all modern charm revisions support amd64. Later revisions introduced support for arm64, and s390x.

See the Release notes for more information.

Report issues and contact authors

The modern charms (from 8.0/stable) for VM and K8s are stored in the mysql-operators GitHub repository.

Bug reports and feature requests can be submitted as GitHub issues.

See Contact for more information.