Skip to content

Install Percona XtraBackup on Debian-based systems

Ready-to-use packages are available from the Percona XtraBackup software repositories and the download page.

Specific information on the supported platforms, products, and versions is described in Percona Release Lifecycle Overview.

To prevent intermittent backup failures, update the curl utility in Debian 10.

This guide walks you through the process of installing Percona XtraBackup 8.0 on Debian-based systems using the Percona-release tool.

Version changes

Starting with Percona XtraBackup 8.0.35-31, the APT builds for the following platforms include ARM packages with the arm64.deb extension:

  • Debian 12

  • Debian 11

  • Ubuntu 24.04

  • Ubuntu 22.04

  • Ubuntu 20.04

This extension means Percona XtraBackup is now available for users on ARM-based systems.

We recommend downloading Percona XtraBackup for the same platform as your MySQL-compatible server. For instance, if your server runs on an ARM64 platform, you should download and use the Percona XtraBackup with the arm64.deb extension for that operating system.

Prerequisites

  • Sudo or root access

  • Internet connection

Installation steps

The following procedure installs Percona XtraBackup 8.0.

  1. Update the system package list

    $ sudo apt update
    
    Example output
    Get:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease [270 kB]
    Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [128 kB]
    Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [127 kB]
    Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [129 kB]
    Get:5 http://ports.ubuntu.com/ubuntu-ports jammy/restricted arm64 Packages [24.2 kB]
    Get:6 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse arm64 Packages [224 kB]
    Get:7 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages [17.2 MB]
    Get:8 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages [1758 kB]
    Get:9 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted arm64 Packages [2400 kB]
    Get:10 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse arm64 Packages [29.5 kB]
    Get:11 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 Packages [1379 kB]
    Get:12 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 Packages [2217 kB]
    Get:13 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe arm64 Packages [31.8 kB]
    Get:14 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main arm64 Packages [81.0 kB]
    Get:15 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 Packages [1949 kB]
    Get:16 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted arm64 Packages [2330 kB]
    Get:17 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse arm64 Packages [24.1 kB]
    Get:18 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe arm64 Packages [1096 kB]
    Fetched 31.4 MB in 7s (4264 kB/s)
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    9 packages can be upgraded. Run 'apt list --upgradable' to see them.
    
  2. Install the curl download utility if it’s not installed:

    $ sudo apt install curl
    
    Example output
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      ca-certificates libbrotli1 libcurl4 libldap-2.5-0 libldap-common libnghttp2-14 libpsl5 librtmp1
    Suggested packages:
    ...
    Updating certificates in /etc/ssl/certs...
    0 added, 0 removed; done.######################################################################...]
    Running hooks in /etc/ca-certificates/update.d...
    done.
    
  3. Download the percona-release the repository package:

    $ curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb
    
    Example output
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                    Dload  Upload   Total   Spent    Left Speed
    100 16510  100 16510    0     0  31433      0 --:--:-- --:--:-- --:--:-- 31447
    
  4. Install the downloaded package and its dependencies using apt:

    $ sudo apt install gnupg2 lsb-release ./percona-release_latest.generic_all.deb
    
    Example output
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    Note, selecting 'percona-release' instead of './percona-release_latest.generic_all.deb'
    The following additional packages will be installed:
    
  5. Refresh the local cache to update the package information:

    $ sudo apt update
    
    Example output
    Hit:1 http://repo.percona.com/pmm2-client/apt jammy InRelease
    Hit:2 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
    Hit:3 http://repo.percona.com/prel/apt jammy InRelease
    ...
    
  6. Enable the repository:

    $ percona-release setup pxb-80
    
    Example output
    * Disabling all Percona Repositories
    * Enabling the Percona XtraBackup 8.0 repository
    Hit:1 http://repo.percona.com/prel/apt jammy InRelease
    Get:2 http://repo.percona.com/pxb-80/apt jammy InRelease [18.7 kB]
    Hit:3 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
    Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [128 kB]
    Hit:5 http://repo.percona.com/telemetry/apt jammy InRelease
    Get:6 http://repo.percona.com/pxb-80/apt jammy/main Sources [3393 B]
    Get:7 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [127 kB]
    Get:8 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [129 kB]
    Fetched 406 kB in 1s (274 kB/s)
    Reading package lists... Done
    
  7. Install the package:

    $ sudo apt install percona-xtrabackup-80
    
    Example output
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      libaio1 libcurl4-openssl-dev libdbd-mysql-perl libdbi-perl libev4 libgdbm-compat4 libgdbm6
      libmysqlclient21 libperl5.34 libpopt0 mysql-common netbase perl perl-modules-5.34 rsync zstd
    ...
    Setting up libdbd-mysql-perl:amd64 (4.050-5ubuntu0.22.04.1) ...##########################.........]
    Setting up percona-xtrabackup-80 (8.0.35-31-1.jammy) ...####################################......]
    Processing triggers for libc-bin (2.35-0ubuntu3.8) ...########################################....]
    
  8. Verify the installation:

    $ xtrabackup --version
    
    Example output
    xtrabackup version 8.0.35-31 based on MySQL server 8.0.35 Linux (x86_64) (revision id: 55ec21d7)
    
  9. Install optional compression packages if you plan to use LZ4 or ZSTD compression:

    $ sudo apt install lz4
    
    $ sudo apt install zstd
    

Troubleshooting

If you encounter any errors during the installation process, check your system’s error logs:

$ sudo tail -n 50 /var/log/syslog

Ensure your system meets the minimum requirements for Percona XtraBackup.

If you encounter permission errors, ensure you’re running the commands with sudo or have root access.

For AppArmor profile information, see Working with AppArmor.

Additional resources

To install Percona XtraBackup using downloaded deb packages, see Install Percona XtraBackup 8.0.

To uninstall Percona XtraBackup, see Uninstall Percona XtraBackup 8.0

Get expert help

If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services.


Last update: 2024-09-13