All pages
Powered by GitBook
1 of 1

Loading...

Installing MariaDB .deb Files

Step-by-step instructions for installing MariaDB on Debian, covering service configuration and security settings.

Installing MariaDB with APT

On Debian, Ubuntu, and other similar Linux distributions, it is highly recommended to install the relevant .deb packages from MariaDB's repository using apt, aptitude, Ubuntu Software Center, Synaptic Package Manager, or another package manager.

This page walks you through the simple installation steps using apt.

Adding the MariaDB APT repository

We currently have APT repositories for the following Linux distributions:

  • Debian 11 (Bullseye)

  • Debian 12 (Bookworm)

  • Debian 13 (Trixie)

  • Debian Unstable (Sid)

Using the MariaDB Package Repository Setup Script

If you want to install MariaDB with apt, then you can configure apt to install from MariaDB Corporation's MariaDB Package Repository by using the .

MariaDB Corporation provides a MariaDB Package Repository for several Linux distributions that use apt to manage packages. This repository contains software packages related to MariaDB Server, including the server itself, , , , and . The MariaDB Package Repository setup script automatically configures your system to install packages from the MariaDB Package Repository.

To use the script, execute the following command:

Note that this script also configures a repository for and a repository for MariaDB Tools, which currently only contains and its dependencies.

See for more information.

Using the MariaDB Repository Configuration Tool

If you want to install MariaDB with apt, then you can configure apt to install from MariaDB Foundation's MariaDB Repository by using the .

The MariaDB Foundation provides a MariaDB repository for several Linux distributions that use apt-get to manage packages. This repository contains software packages related to MariaDB Server, including the server itself, , , , and . The MariaDB Repository Configuration Tool can easily generate the appropriate commands to add the repository for your distribution.

There are several ways to add the repository.

Executing add-apt-repository

One way to add an apt repository is by using the command. This command will add the repository configuration to /etc/apt/sources.list.

For example, if you wanted to use the repository to install on Ubuntu 18.04 LTS (Bionic), then you could use the following commands to add the MariaDB apt repository:

And then you would have to update the package cache by executing the following command:

Creating a Source List File

Another way to add an apt repository is by creating a file in /etc/apt/sources.list.d/.

For example, if you wanted to use the repository to install on Ubuntu 18.04 LTS (Bionic), then you could create the MariaDB.list file in /etc/apt/sources.list.d/ with the following contents to add the MariaDB apt repository:

And then you would have to update the package cache by executing the following command:

Using Ubuntu Software Center

Another way to add an apt repository is by using .

You can do this by going to the Software Sources window. This window can be opened either by navigating to Edit > Software Sources or by navigating to System > Administration > Software Sources.

Once the Software Sources window is open, go to the Other Software tab, and click the Add button. At that point, you can input the repository information provided by the .

See for more information.

Using Synaptic Package Manager

Another way to add an apt repository is by using .

You can do this by going to the Software Sources window. This window can be opened either by navigating to System > Administrator > Software Sources or by navigating to Settings > Repositories.

Once the Software Sources window is open, go to the Other Software tab, and click the Add button. At that point, you can input the repository information provided by the .

See for more information.

Pinning the MariaDB Repository to a Specific Minor Release

If you wish to pin the apt repository to a specific minor release, or if you would like to downgrade to a specific minor release, then you can create a apt repository with the URL hard-coded to that specific minor release.

The MariaDB Foundation archives repositories of old minor releases at the following URL:

Archives are only of the distros and architectures supported at the time of release. For example, exists for Ubuntu bionic, focal, jammy, kinetic, and #lunaris obtained looking in [dists](https://archive.mariadb.org/mariadb-10.6.21/repo/ubuntu/dists).

For example, if you wanted to pin your repository to on Ubuntu 20.04 LTS (Focal), then you would have to first remove any existing MariaDB repository source list file from /etc/apt/sources.list.d/. And then you could use the following commands to add the MariaDB apt-get repository:

Ensure you have the .

Ubuntu Xenial and older will need:

And then you would have to update the package cache by executing the following command:

Updating the MariaDB APT repository to a New Major Release

MariaDB's apt repository can be updated to a new major release. How this is done depends on how you originally configured the repository.

Updating the Major Release with the MariaDB Package Repository Setup Script

If you configured apt to install from MariaDB Corporation's MariaDB Package Repository by using the , then you can update the major release that the repository uses by running the script again.

Updating the Major Release with the MariaDB Repository Configuration Tool

If you configured apt to install from MariaDB Foundation's MariaDB Repository by using the , then you can update the major release in various ways, depending on how you originally added the repository.

Updating a Repository with add-apt-repository

If you added the apt repository by using the command, then you can update the major release that the repository uses by using the command again.

First, look for the repository string for the old version in /etc/apt/sources.list.

And then, you can remove the repository for the old version by executing the command and providing the --remove option. For example, if you wanted to remove a repository, then you could do so by executing something like the following:

After that, you can add the repository for the new version with the command. For example, if you wanted to use the repository to install on Ubuntu 18.04 LTS (Bionic), then you could use the following commands to add the MariaDB apt repository:

And then you would have to update the package cache by executing the following command:

After that, the repository should refer to and you can .

Updating a Source List File

If you added the apt repository by creating a file in /etc/apt/sources.list.d/, then you can update the major release that the repository uses by updating the source list file in-place. For example, if you wanted to change the repository from to , and if the source list file was at /etc/apt/sources.list.d/MariaDB.list, then you could execute the following:

And then you would have to update the package cache by executing the following command:

After that, the repository should refer to and you can .

Importing the MariaDB GPG Public Key

Before MariaDB can be installed, you also have to import the GPG public key that is used to verify the digital signatures of the packages in our repositories. This allows the apt utility to verify the integrity of the packages that it installs.

  • Prior to Debian 9 (Stretch), and Debian Unstable (Sid), and Ubuntu 16.04 LTS (Xenial), the id of our GPG public key is 0xcbcb082a1bb943db. The full key fingerprint is:

The utility can be used to import this key. For example:

  • Starting with Debian 9 (Stretch) and Ubuntu 16.04 LTS (Xenial), the id of our GPG public key is 0xF1656F24C74CD1D8. The full key fingerprint is:

The utility can be used to import this key. For example:

Starting with Debian 9 (Stretch), the package needs to be installed before the GPG public key can be imported. To install it, execute: sudo apt install dirmngr

If you are unsure which GPG public key you need, then it is perfectly safe to import both keys.

The command used to import the GPG public key is the same on both Debian and Ubuntu. For example:

Once the GPG public key is imported, you are ready to install packages from the repository.

Installing MariaDB Packages with APT

After the apt repository is configured, you can install MariaDB by executing the command. The specific command that you would use would depend on which specific packages that you want to install.

Installing the Most Common Packages with APT

To Install the most common packages, first you would have to update the package cache by executing the following command:

To Install the most common packages, execute the following command:

Installing MariaDB Server with APT

To Install MariaDB Server, first you would have to update the package cache by executing the following command:

Then, execute the following command:

Installing MariaDB Galera Cluster with APT

The process to install MariaDB Galera Cluster with the MariaDB apt-get repository is practically the same as installing standard MariaDB Server.

Galera Cluster support is included in the standard MariaDB Server packages, so you will need to install the mariadb-server package, as you normally would.

You also need to install the galera-4 package to obtain the 4 wsrep provider library.

To install MariaDB Galera Cluster, first you would have to update the package cache by executing the following command:

To install MariaDB Galera Cluster, you could execute the following command:

MariaDB Galera Cluster also has a separate package that can be installed on arbitrator nodes. The package is called galera-arbitrator-4. This package should be installed on whatever node you want to serve as the arbitrator. It can either run on a separate server that is not acting as a cluster node, which is the recommended configuration, or it can run on a server that is also acting as an existing cluster node.

To install the arbitrator package, you could execute the following command:

<>

See Galera for more information on MariaDB Galera Cluster.

Installing MariaDB Clients and Client Libraries with APT

is included as the client library.

To Install the clients and client libraries, first you would have to update the package cache by executing the following command:

Then, execute the following command:

Installing mariadb-backup with APT

To install , first you would have to update the package cache by executing the following command:

Then, execute the following command:

Installing Plugins with APT

Some may also need to be installed.

For example, to install the password validation plugin, first you would have to update the package cache by executing the following command:

Then, execute the following command:

Installing Older Versions from the Repository

The MariaDB apt repository contains the last few versions of MariaDB. To show what versions are available, use the command:

There will be a lot of output, but in the "Provides" section at the end of the output you will see the available versions. For example:

In the above example there are four versions available, two from the MariaDB repositories, and two from the Ubuntu repositories. The versions from MariaDB have "maria" in the version number, and the versions from Ubuntu have "ubuntu" in the version number.

To install an older version of a package instead of the latest version we just need to specify the package name, an equal sign, and then the complete version number. From the example above, the complete version number for MariaDB 12.0.2 is: 1:12.0.2+maria~ubu2404

However, when installing an older version of a package, apt will automatically choose to install the latest versions of any dependencies, which doesn't work for dependencies of the mariadb-server package like mariadb-client and mariadb-server-core.

To ensure that all MariaDB packages are on the same version in this scenario, it is necessary to specify them all. Therefore, to install the 12.0.2 version of the mariadb-server package from this apt repository, we would do the following (using a variable to hold the version number, and putting each package on its own line so things are cleaner):

For MariaDB Enterprise, version numbers are similar, but have an extra point. For example, MariaDB Enterprise Server 11.8.5-2 for Ubuntu 24.04 Noble has the version number: 1:11.8.5.2+maria~ubu2404 .

The rest of the install and setup process is as normal.

Installing MariaDB with dpkg

While it is not recommended, it is possible to download and install the.deb packages manually. However, it is generally recommended to use a package manager like apt-get.

A tarball that contains the .deb packages can be downloaded from the following URL:

For example, to install the .deb packages on Ubuntu 18.04 LTS (Bionic), you could execute the following:

After Installation

After the installation is complete, you can start MariaDB.

If you are using , then keep in mind that the first node will have to be .

Upgrading to a new version of MariaDB

After updating your repository configuration to move from the repository of one version of MariaDB to a newer version, as per the previous instructions, you will need to upgrade the MariaDB packages, this is done with:

Alternatively you can also run the following to installing the new version:

The reason for specifying the galera-4 package is to ensure the correct updated version of Galera is installed along with the new server version, replacing the versions that were there before.

Available DEB Packages

The available DEB packages depend on the specific MariaDB release series.

Available DEB Packages

For MariaDB, the following DEBs are available:

Package Name
Description

Actions Performed by DEB Packages

Users and Groups Created

When the mariadb-server DEB package is installed, it will create a user and group named mysql, if they do not already exist.

See Also

This page is licensed: CC BY-SA / Gnu FDL

Ubuntu 22.04 (Jammy)
  • Ubuntu 24.04 (Noble)

  • mariadb-client

    Client tools like , , and others.

    mariadb-client-core

    Core client tools

    mariadb-common

    Character set files and /etc/my.cnf

    mariadb-plugin-connect

    The storage engine.

    mariadb-plugin-cracklib-password-check

    The password validation plugin.

    mariadb-plugin-gssapi-client

    The client-side component of the authentication plugin.

    mariadb-plugin-gssapi-server

    The server-side component of the authentication plugin.

    mariadb-plugin-rocksdb

    The storage engine.

    mariadb-plugin-spider

    The storage engine.

    mariadb-plugin-tokudb

    The storage engine.

    mariadb-server

    The server and server tools, like and are here.

    mariadb-server-core

    The core server.

    mariadb-test

    mysql-client-test executable, and mysql-test framework with the tests.

    mariadb-test-data

    MariaDB database regression test suite - data files

    galera-4

    The WSREP provider for 4.

    libmariadb3

    Dynamic client libraries.

    libmariadb-dev

    Development headers and static libraries.

    libmariadbclient18

    Virtual package to satisfy external depends

    libmysqlclient18

    Virtual package to satisfy external depends

    mariadb-backup

    mariadb-backup

    MariaDB Package Repository setup script
    clients and utilities
    client libraries
    plugins
    mariadb-backup
    MariaDB MaxScale
    Percona XtraBackup
    MariaDB Package Repository Setup and Usage
    MariaDB Repository Configuration Tool
    clients and utilities
    client libraries
    plugins
    mariadb-backup
    add-apt-repository
    MariaDB 10.6
    source list
    MariaDB 10.6
    Ubuntu Software Center
    MariaDB Repository Configuration Tool
    here
    Synaptic Package Manager
    MariaDB Repository Configuration Tool
    here
    MariaDB 10.6.21
    signing key installed
    MariaDB Package Repository setup script
    MariaDB Repository Configuration Tool
    add-apt-repository
    add-apt-repository
    add-apt-repository
    MariaDB 10.6
    add-apt-repository
    MariaDB 10.6
    MariaDB 10.6
    upgrade to the new version of MariaDB
    source list
    MariaDB 10.6
    MariaDB 10.6
    upgrade to the new version of MariaDB
    apt-key
    apt-key
    dirmngr
    apt-get
    MariaDB Connector/C
    mariadb-backup
    plugins
    cracklib_password_check
    apt-cache
    downloads.mariadb.com
    MariaDB 10.6.21
    Differences in MariaDB in Debian
    Installing MariaDB .deb Files with Ansible
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
    sudo apt-get install software-properties-common
    sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.6/ubuntu bionic main'
    sudo apt update
    # MariaDB 10.6 repository list - created 2019-01-27 09:50 UTC
    # http://downloads.mariadb.org/mariadb/repositories/
    deb [arch=amd64,arm64,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.6/ubuntu bionic main
    deb-src http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.6/ubuntu bionic main
    sudo apt update
    sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el,s390x] http://archive.mariadb.org/mariadb-10.5.9/repo/ubuntu/ focal main main/debug'
    sudo apt-get install -y apt-transport-https
    sudo apt update
    sudo add-apt-repository --remove 'deb [arch=amd64,arm64,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.6/ubuntu bionic main'
    sudo apt-get install software-properties-common
    sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.6/ubuntu bionic main'
    sudo apt update
    sudo sed -i 's/10.5/10.6/' /etc/apt/sources.list.d/MariaDB.list
    sudo apt update
    1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB
    sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
    177F 4010 FE56 CA33 3630  0305 F165 6F24 C74C D1D8
    sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
    $ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
    Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.ASyOPV87XC --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
    gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
    gpg: key 1BB943DB: "MariaDB Package Signing Key <package-signing-key@mariadb.org>" imported
    gpg: no ultimately trusted keys found
    gpg: Total number processed: 1
    gpg:               imported: 1
    sudo apt update
    sudo apt-get install mariadb-server galera-4 mariadb-client libmariadb3 mariadb-backup mariadb-common
    sudo apt update
    sudo apt-get install mariadb-server
    sudo apt update
    sudo apt-get install mariadb-server mariadb-client galera-4
    sudo apt-get install galera-arbitrator-4
    sudo apt update
    sudo apt-get install mariadb-client libmariadb3
    sudo apt update
    sudo apt-get install mariadb-backup
    sudo apt update
    sudo apt-get install mariadb-cracklib-password-check
    sudo apt-cache showpkg mariadb-server
    Package: mariadb-server
    Versions: 
    1:12.1.2+maria~ubu2404 (/var/lib/apt/lists/dlm.mariadb.com_repo_mariadb-server_12.rolling_repo_ubuntu_dists_noble_main_binary-amd64_Packages)
     Description Language:
     ...<extra-output-snipped>...
     Provides: 
    1:12.1.2+maria~ubu2404 - virtual-mysql-server (= ) default-mysql-server (= ) 
    1:12.0.2+maria~ubu2404 - virtual-mysql-server (= ) default-mysql-server (= ) 
    1:10.11.13-0ubuntu0.24.04.1 - virtual-mysql-server (= ) 
    1:10.11.7-2ubuntu2 - virtual-mysql-server (= ) 
    sudo apt install mariadb-server=1:12.0.2+maria~ubu2404
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     mariadb-client : Breaks: mariadb-server (< 1:12.1.2+maria~ubu2404) but 1:12.0.2+maria~ubu2404 is to be installed
     mariadb-server-core : Breaks: mariadb-server (< 1:12.1.2+maria~ubu2404) but 1:12.0.2+maria~ubu2404 is to be installed
    E: Unable to correct problems, you have held broken packages.
    ver="1:12.0.2+maria~ubu2404"
    sudo apt install \
      mariadb-server=${ver} \
      mariadb-client=${ver} \
      mariadb-server-core=${ver} \
      mariadb-client-core=${ver}
    sudo apt-get update
    sudo apt-get install libdbi-perl libdbd-mysql-perl psmisc libaio1 socat
    wget https://downloads.mariadb.com/MariaDB/mariadb-10.6.21/repo/ubuntu/mariadb-10.6.21-ubuntu-bionic-amd64-debs.tar
    tar -xvf mariadb-10.6.21-ubuntu-bionic-amd64-debs.tar
    cd mariadb-10.6.21-ubuntu-bionic-amd64-debs/
    sudo dpkg --install ./mariadb-common*.deb \
       ./mysql-common*.deb \
       ./mariadb-client*.deb \
       ./libmariadb3*.deb \
       ./libmysqlclient18*.deb 
    sudo dpkg --install ./mariadb-server*.deb \
       ./mariadb-backup*.deb \
       ./galera-4*.deb
    sudo apt upgrade mariadb-server
    sudo apt install mariadb-server galera-4
    mariadb CLI
    mariadb-dump
    CONNECT
    cracklib_password_check
    gssapi
    gssapi
    MyRocks
    SPIDER
    TokuDB
    myisamchk
    mariadb-hotcopy
    Galera
    MariaDB Galera Cluster
    bootstrapped
    Galera
    MariaDB 10.5.9
    MariaDB 10.5