mysql

Charmed MySQL

Channel Revision Published Runs on
8.0/stable 366 Yesterday
Ubuntu 22.04
8.0/stable 367 Yesterday
Ubuntu 22.04
8.0/candidate 366 24 Mar 2025
Ubuntu 22.04
8.0/candidate 367 24 Mar 2025
Ubuntu 22.04
8.0/beta 366 11 Mar 2025
Ubuntu 22.04
8.0/beta 367 11 Mar 2025
Ubuntu 22.04
8.0/edge 371 Yesterday
Ubuntu 22.04
8.0/edge 370 Yesterday
Ubuntu 22.04
juju deploy mysql --channel 8.0/stable
Show information

Platform:

Ubuntu
22.04

Note: All commands are written for juju >= v3.0

If you are using an earlier version, check the Juju 3.0 Release Notes.

How to restore a local backup

This is a How-To for performing a basic restore (restoring a locally made backup). To restore a backup that was made from the a different cluster, (i.e. cluster migration via restore), please reference the Cluster Migration via Restore How-To:

Prerequisites

Summary


List backups

To view the available backups to restore you can enter the command list-backups:

juju run mysql/leader list-backups

This should show your available backups

    backups: |-
      backup-id             | backup-type  | backup-status
      ----------------------------------------------------
      YYYY-MM-DDTHH:MM:SSZ  | physical     | finished

Point-in-time recovery

Point-in-time recovery (PITR) is a MySQL feature that enables restorations to the database state at specific points in time. The feature is enabled by default when there’s a working relation with S3 storage.

Restore backup

To restore a backup from that list, run the restore command and pass the backup-id to restore:

juju run mysql/leader restore backup-id=YYYY-MM-DDTHH:MM:SSZ

Your restore will then be in progress.

However, if the user needs to restore to a specific point in time between different backups (e.g. to restore only specific transactions made between those backups), they can use the restore-to-time parameter to pass a timestamp related to the moment they want to restore.

juju run mysql/leader restore restore-to-time="YYYY-MM-DD HH:MM:SS"

Your restore will then be in progress.

It’s also possible to restore to the latest point from a specific timeline by passing the ID of a backup taken on that timeline and restore-to-time=latest when requesting a restore:

juju run mysql/leader restore restore-to-time=latest