Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

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

Last updated 6 days ago. Help improve this document in the forum.