Legacy charm

Historically, there were several operators/charms to provide MySQL/MariaDB functionality: MariaDB, OSM MariaDB, Percona Cluster and Mysql Innodb Cluster. These are legacy charms.

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

The legacy charm provided endpoints mysql and mysql-root (for the interface mysql). 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 K8s 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-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

  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

At the moment, 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: amd64, arm64, …

Currently, the charm supports architecture amd64 only.

See: System requirements

How to report issues and contact authors

The modern charm (from 8.0/stable) is stored on GitHub, here is the link to report modern charm issues.

Do you have questions? Contact us!