All pages
Powered by GitBook
1 of 22

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Installing MariaDB RPM Files

Install and manage MariaDB Server using RPM packages. This section provides detailed instructions for deploying and upgrading MariaDB on RPM-based Linux distributions.

GPG

Information about the GPG keys used to sign MariaDB packages and repositories, including how to import them for verification.

The MariaDB project signs their MariaDB packages for Debian, Ubuntu, Fedora, and Red Hat. This page documents information about the keys that we use and have used.

MariaDB Community Server Debian / Ubuntu key

Our MariaDB Community Server repositories for Debian "Sid" and the Ubuntu 16.04 and beyond "Xenial" use the following GPG signing key. As detailed in MDEV-9781, APT 1.2.7 (and later) prefers SHA2 GPG keys and now prints warnings when a repository is signed using a SHA1 key like our previous GPG key. We have created a SHA2 key for use with these.

Information about this key:

  • The short Key ID is: 0xC74CD1D8

  • The long Key ID is: 0xF1656F24C74CD1D8

  • The full fingerprint of the key is: 177F 4010 FE56 CA33 3630 0305 F165 6F24 C74C D1D8

  • The key can be added on Debian-based systems using the following command:

  • Usage of the apt-key command is deprecated in the latest versions of Debian and Ubuntu, and the replacement method is to download the keyring file to the /etc/apt/trusted.gpg.d/ directory. This can be done with the following:

MariaDB Community Server RPM / Source Keys

Beginning in 2023 we migrated the key used to sign our yum/dnf/zypper repositories and to sign our source code and binary tarballs to the same key we use for Debian and Ubuntu.

Key ID and Fingerprint information is in the , above.

The key can be imported on RPM-based systems using the following command:

or

The GPG Key ID of the MariaDB signing key we used for yum/dnf/zypper repositories and to sign our source code tarballs until the end of 2022 was 0xCBCB082A1BB943DB. The short form of the id is 0x1BB943DB and the full key fingerprint is:

This key was used by the yum/dnf/zypper

MariaDB Enterprise GPG Keys

Information about the key we use on most platforms for MariaDB Enterprise Server releases:

  • The short Key ID is: 0xE3C94F49

  • The long Key ID is: 0xCE1A3DD5E3C94F49

  • The full fingerprint of the key is: 4C47 0FFF EFC4 D3DC 5977 8655 CE1A 3DD5 E3C9 4F49

MariaDB MaxScale GPG Keys

In December 2025, moved to using the same GPG key used by MariaDB Enterprise Server for RHEL 10 and Debian 13 Trixie.

Information on this key:

  • The short Key ID is: 0x8C27D14E

  • The long Key ID is: 0x5D87FACA8C27D14E

  • The full fingerprint of the key is:

Configuring Repositories

See the page for details on using the mariadb_repo_setup and mariadb_es_repo_setup scripts to configure repositories that use these keys.

See the on configuring MariaDB Foundation repositories that use these keys.

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

Installing MariaDB on macOS (PKG)

How to install MariaDB Server on macOS. This is possible using Homebrew.

MariaDB Server does not currently provide a .pkg installer for macOS. For information about how to install MariaDB Server on macOS using Homebrew, see .

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

Troubleshooting MariaDB Installs on RHEL / CentOS

Solutions for common installation issues on RHEL and CentOS, such as conflicts with existing MySQL installations and handling configuration file backups (.rpmsave).

The following article is about different issues people have encountered when installing MariaDB on RHEL / CentOS.

It is highly recommended to where possible.

In RHEL/ CentOS it is also possible to install a or a . The RPM is the preferred version, except if you want to install many versions of MariaDB or install MariaDB in a non standard location.

Replacing MySQL

If you removed an MySQL RPM to install MariaDB, note that the MySQL RPM on uninstall renames /etc/my.cnf

Why Source RPMs (SRPMs) Aren't Packaged For Some Platforms

Explains the limitations in providing Source RPMs (SRPMs) for certain platforms due to CMake version requirements and build system dependencies.

MariaDB source RPMs (SRPMs) are not packaged on all platforms for which MariaDB RPMs are packaged.

The reason is that MariaDB's build process relies heavily on for a lot of things. In this specific case, MariaDB's build process relies on to build RPMs. The specific package generator that it uses to build RPMs is called .

Support for source RPMs in became usable with MariaDB's build system starting from around . This means that we do not produce source RPMs on platforms where the installed version is older than that.

See also .

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

Installing MariaDB Windows ZIP Packages

Instructions for manually installing MariaDB on Windows from a ZIP archive, useful for portable installations or advanced configuration needs.

Users need to run , without parameters to create a data directory, e.g

Then you can start server like this

If you like to customize the server instance (data directory, install as service etc), please refer to

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

repositories for RedHat, CentOS, Fedora, openSUSE, and SLES.

If you configure the mariadb.org rpm repositories using the repository configuration tool then your package manager will prompt you to import the key the first time you install a package from the repository.

You can also import the key directly using the following command:

On Debian / Ubuntu systems, you can install the keyring containing this key with:

The key can be imported on RPM-based systems using the following command:

or

For RHEL, AlmaLinux, Rocky, and Oracle Linux 10 and above, and for Debian 13 Trixie and above there are new requirements around GPG keys used to sign rpm packages. For these distributions we have created a stronger GPG key for our Enterprise Server releases.

Information on this key:

  • The short Key ID is: 0x8C27D14E

  • The long Key ID is: 0x5D87FACA8C27D14E

  • The full fingerprint of the key is: BB2A 36F3 6C3B 4D37 3BAC 328A 5D87 FACA 8C27 D14E

On Debian / Ubuntu systems, you can install the keyring containing this key with:

The key can be imported on RPM-based systems using the following command:

or

BB2A 36F3 6C3B 4D37 3BAC 328A 5D87 FACA 8C27 D14E

On Debian / Ubuntu systems, you can install the keyring containing this key with:

The key can be imported on RPM-based systems using the following command:

or

Information on the key used by MaxScale repositories prior to December 2025:

  • The short Key ID is: 0xE3C94F49

  • The long Key ID is: 0xCE1A3DD5E3C94F49

  • The full fingerprint of the key is: 4C47 0FFF EFC4 D3DC 5977 8655 CE1A 3DD5 E3C9 4F49

On Debian / Ubuntu systems, you can install the keyring containing this key with:

The key can be imported on RPM-based systems using the following command:

or

MariaDB Community Server Debian/Ubuntu Key section
MariaDB Package Repository Setup and Usage
details
MariaDB MaxScale
sudo rpm --import https://supplychain.mariadb.com/MariaDB-Server-GPG-KEY
sudo rpmkeys --import https://supplychain.mariadb.com/MariaDB-Server-GPG-KEY
1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB
sudo rpmkeys --import https://supplychain.mariadb.com/MariaDB-Server-GPG-KEY-2010
to
/etc/my.cnf.rpmsave.

After installing MariaDB you should do the following to restore your configuration options:

Unsupported configuration options

If you are using any of the following options in your /etc/my.cnf or other my.cnf file you should remove them. This is also true for MySQL 5.1 or newer:

See also

  • Installing with yum (recommended)

  • Installing MariaDB RPM Files

  • Checking MariaDB RPM Package Signatures

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

install with yum
RPM
tar ball
C:\zip_unpack\directory> bin\mariadb-install-db.exe
C:\zip_unpack\directory> bin\mariadbd.exe --console
mariadb-install-db.exe
mariadb-install-db.exe documentation
Installing MariaDB Server on macOS Using Homebrew
cmake
CMake CPack Package Generators
CPackRPM
CPackRPM
cmake 3.10
cmake
Building MariaDB from a Source RPM

Installing MariaDB With the rpm Tool

A guide to installing MariaDB using the low-level `rpm` command, suitable for situations where package managers like `yum` or `dnf` are not available or preferred.

This article describes how to download the RPM files and install them using therpm command.

It is highly recommended to Install MariaDB with yum where possible.

Navigate toand choose the desired database version and then select the RPMs that match your Linux distribution and architecture.

Clicking those links takes you to a local mirror. Choose the rpms link and download the desired packages. The packages will be similar to the following:

MariaDB-client-5.2.5-99.el5.x86_64.rpm
MariaDB-debuginfo-5.2.5-99.el5.x86_64.rpm
MariaDB-devel-5.2.5-99.el5.x86_64.rpm
MariaDB-server-5.2.5-99.el5.x86_64.rpm
MariaDB-shared-5.2.5-99.el5.x86_64.rpm
MariaDB-test-5.2.5-99.el5.x86_64.rpm

For a standard server installation you will need to download at least the client, shared, and server RPM files. See About the MariaDB RPM Files for more information about what is included in each RPM package.

After downloading the MariaDB RPM files, you might want to check their signatures. See Checking MariaDB RPM Package Signatures for more information about checking signatures.

Prior to installing MariaDB, be aware that it will conflict with an existing installation of MySQL. To check whether MySQL is already installed, issue the command:

If necessary, you can remove found MySQL packages before installing MariaDB.

To install MariaDB, use the command:

You should see output such as the following:

Be sure to follow the instructions given in the preceding output and create a password for the root user either by using or by running the /usr/bin/mysql_secure_installation script.

Installing the MariaDB RPM files installs the MySQL tools in the /usr/bin directory. You can confirm that MariaDB has been installed by using the client program. Issuing the command mariadb should give you the MariaDB cursor.

See Also

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

Deploy with Package Tarballs

Explains the benefits and use cases for deploying MariaDB using package tarballs (containing RPMs or DEBs) for offline or custom installations.

MariaDB Corporation provides package tarballs for some MariaDB database products.

Package tarballs provide multiple benefits:

  • Package tarballs are compressed tar archives that contain software packages.

  • Software packages can be installed using the operating system's package manager without relying on a remote repository.

  • RPM (.rpm) files are distributed for CentOS, Red Hat Enterprise Linux (RHEL), and SUSE Linux Enterprise Server (SLES).

  • DEB (.deb) files are distributed for Debian and Ubuntu.

If you want to deploy MariaDB database products without using a package tarball, are available. Available deployment methods are component-specific.

Use Cases

MariaDB database products can be deployed with package tarballs to support use cases, such as:

  • Transfer the package tarball to an air-gapped network for installation without an internet connection

  • Install software using a package manager without configuring a package repository

  • Automatically install missing dependencies using a package manager

Compatibility

The following MariaDB database products can be deployed using package tarballs:

  • MariaDB Community Server 10.5

  • MariaDB Community Server 10.6

  • MariaDB Enterprise Server 10.5

  • MariaDB Enterprise Server 10.6

Download a Package Tarball

MariaDB Corporation provides package tarballs (.debs.tar, .rpms.tar) to support customers who leverage in-house package repositories to distribute software to their servers. Secure any such repository to prevent outside access.

MariaDB Corporation provides multiple interfaces to download package tarballs.

  1. Visit the MariaDB Downloads page.

  2. Complete customer login.

  3. Select the desired version and operating system.

  4. Click the Download button.

Installation From Package Tarball

Once downloaded and extracted, you can:

  • Install .rpm packages (RHEL, CentOS, and SLES): rpm -i

  • Install .deb packages (Debian, Ubuntu): dpkg -i

  • Install from the simple package repositories included in the tarball. Missing dependencies will be resolved when using the apt, yum, or zypper

Installation loads software to the system. This software requires configuration before the database server is ready for use.

This page is: Copyright © 2025 MariaDB. All rights reserved.

MariaDB for DirectAdmin Using RPMs

Specific instructions for installing MariaDB RPMs on servers running the DirectAdmin control panel, including necessary configuration edits to prevent conflicts.

If you are using DirectAdmin and you encounter any issues with Installing MariaDB with YUM, then the directions below may help. The process is very straightforward.

Installing with YUM is preferable to installing the MariaDB RPM packages manually, so only do this if you are having issues such as: Starting httpd:

  httpd:
    Syntax error on line 18 of /etc/httpd/conf/httpd.conf:
    Syntax error on line 1 of /etc/httpd/conf/extra/httpd-phpmodules.conf:
      Cannot load /usr/lib/apache/libphp5.so into server:
        libmysqlclient.so.18: cannot open shared object file: No such file or directory

Or:

RPM Installation

To install the RPMs, there is a quick and easy guide to . Follow the instructions there.

Necessary Edits

We do not want DirectAdmin's custombuild to remove/overwrite our MariaDB installation whenever an update is performed. To rectify this, disable automatic MySQL installation.

Edit /usr/local/directadmin/custombuild/options.conf and replace mysql_inst=yes with mysql_inst=no

When MariaDB is installed manually (i.e. not using YUM), updates are not automatic. You will need to update the RPMs yourself.

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

Checking MariaDB RPM Package Signatures

Instructions on how to verify the integrity of MariaDB RPM packages using GPG signatures, including importing the public key and running `rpm --checksig`.

MariaDB RPM packages since are signed.

The key we use has an id of 1BB943DB and the key fingerprint is:

1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB

To check the signature you first need to import the public part of the key like so:

gpg --keyserver hkp://pgp.mit.edu --recv-keys 1BB943DB

Next you need to let pgp know about the key like so:

gpg --export --armour 1BB943DB > mariadb-signing-key.asc
sudo rpm --import mariadb-signing-key.asc

You can check to see if the key was imported with:

Once the key is imported, you can check the signature of the MariaDB RPM files by running the something like the following in your download directory:

The output of the above will look something like this (make sure gpg shows up on each OK line):

See Also

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

Installing MariaDB Binary Tarballs

A guide to installing MariaDB from pre-compiled binary tarballs on Linux, allowing for flexible installation paths and multiple versions.

Binary tarballs (bintars) are compressed tar archives that contain pre-compiled executables, libraries, and other deployment dependencies. They can usually be installed on any modern Linux distribution.

MariaDB Binary tarballs are named following the pattern: mariadb-VERSION-OS.tar.gz. Be sure to the correct version for your machine.

Some older binary tarballs are marked '(GLIBC_2.14)' or '(requires GLIBC_2.14+)'. These binaries are built the same as the others, but on a newer build host, and they require GLIBC 2.14 or higher. Use the other binaries for machines with older versions of GLIBC installed. Run ldd --version to see which version is running on your distribution. Others are marked

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo curl -LsSo /etc/apt/trusted.gpg.d/mariadb-keyring-2019.gpg https://supplychain.mariadb.com/mariadb-keyring-2019.gpg
sudo curl -LsSo /etc/apt/trusted.gpg.d/mariadb-keyring-2019.gpg https://supplychain.mariadb.com/mariadb-keyring-2019.gpg
sudo rpm --import https://supplychain.mariadb.com/MariaDB-Enterprise-GPG-KEY
sudo rpmkeys --import https://supplychain.mariadb.com/MariaDB-Enterprise-GPG-KEY
sudo curl -LsSo /etc/apt/trusted.gpg.d/mariadb-keyring-2025.gpg https://supplychain.mariadb.com/mariadb-keyring-2025.gpg
sudo rpm --import https://supplychain.mariadb.com/MariaDB-Enterprise-GPG-KEY-2025
sudo rpmkeys --import https://supplychain.mariadb.com/MariaDB-Enterprise-GPG-KEY-2025
mv /etc/my.cnf.rpmsave /etc/my.cnf
skip-bdb
rpm --checksig $(find . -name '*.rpm')
Starting httpd:
  httpd:
    Syntax error on line 18 of /etc/httpd/conf/httpd.conf:
    Syntax error on line 1 of /etc/httpd/conf/extra/httpd-phpmodules.conf:
      Cannot load /usr/lib/apache/libphp5.so into server:
        /usr/lib/apache/libphp5.so: undefined symbol: client_errors
rpm -qa gpg-pubkey*
rpm --checksig $(find . -name '*.rpm')
me@desktop:~$ rpm --checksig $(find . -name '*.rpm')
./kvm-rpm-centos5-amd64/rpms/MariaDB-test-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
./kvm-rpm-centos5-amd64/rpms/MariaDB-server-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
./kvm-rpm-centos5-amd64/rpms/MariaDB-client-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
./kvm-rpm-centos5-amd64/rpms/MariaDB-shared-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
./kvm-rpm-centos5-amd64/rpms/MariaDB-devel-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
./kvm-rpm-centos5-amd64/rpms/MariaDB-debuginfo-5.1.55-98.el5.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
./kvm-rpm-centos5-amd64/srpms/MariaDB-5.1.55-98.el5.src.rpm: (sha1) dsa sha1 md5 gpg OK

MariaDB Binary Packages

Provides details on using MariaDB binary packages (tarballs, RPMs, DEBs) for installation, including repository configuration scripts.

MariaDB Enterprise Server 11.4
  • MariaDB MaxScale 22.08

  • Package tarballs can be downloaded using command-line tools or automation from the MariaDB Download interface with the Customer Download Token.

    For additional information, see "Download Binary Files".

    package manager. See the
    README file
    enclosed in the package tarball for more information.
  • Test packages before placement in an internal package repository for distribution to your servers. Secure this repository from outside access.

  • alternative deployment methods
    systemd
    , which are for systems with
    systemd
    and GLIBC 2.19 or higher.

    Benefits of Binary Tarballs

    Binary tarballs provide multiple benefits:

    • They are highly OS independent. As long as you get the bintar for the architecture, GLIBC version, and if you are using systemd or not, the bintar should work almost anywhere.

    • You do not need to be root to use them.

      • They can be installed by anyone to any path, including one's home directory.

    • You can have on the same machine. This is often desired during upgrades when one wants to have the old installation running until switching to the new one.

    • You can use them on systems for which MariaDB does not support native packages.

    Installing binary tarballs

    To install the binaries, unpack the distribution into the directory of your choice and run the mariadb-install-db script.

    In the example below, we install MariaDB in the /usr/local/mysql directory (this is the default location for MariaDB for many platforms). However, any other directory should work too.

    We install the binary with a symlink to the original name. This is done so that you can easily change MariaDB versions just by moving the symlink to point to another directory.

    Ensure You Use the Correct my.cnf Files

    MariaDB searches for the configuration files '/etc/my.cnf' (on some systems '/etc/mysql/my.cnf') and '~/.my.cnf'. If you have an old my.cnf file (maybe from a system installation of MariaDB or MySQL), you need to take care that you don't accidentally use the old one with your new binary .tar installation.

    The normal solution for this is to ignore the my.cnf file in /etc when you use the programs in the tar file.

    This is done by creating your own .my.cnf file in your home directory and telling mariadb-install-db,mysqld_safe, and possibly mariadb (the command-line client utility) to only use this one with the option '--defaults-file=~/.my.cnf'. Note that this has to be the first option for the above commands!

    Installing MariaDB as root in /usr/local/mysql

    If you have root access to the system, you probably want to install MariaDB under the user and group 'mysql' (to keep compatibility with MySQL installations):

    The symlinking with ln -s is recommended as it makes it easy to install many MariaDB versions at the same time (for easy testing, upgrading, downgrading, etc).

    If you are installing MariaDB to replace MySQL, then you can leave out the call to mariadb-install-db. Instead, shut down MySQL. MariaDB should find the path to the data directory from your old /etc/my.cnf file (path may vary depending on your system).

    To start mariadbd, you should now do:

    To test the connection, modify your $PATH so you can invoke clients such as mariadb, mariadb-dump, etc.

    You may want to modify your .bashrc or .bash_profile to make it permanent.

    Installing MariaDB as Not root in Any Directory

    Below, change /usr/local to the directory of your choice.

    If you have problems with the above gunzip command line, you can instead, if you have gnu tar, do:

    To start mariadbd, you should now do:

    Auto Start of mariadbd

    You can get mariadbd (the MariaDB server) to autostart by copying the file mysql.server file to the right place.

    The exact place depends on your system. The mysql.server file contains instructions on how to use and fine tune it.

    For systemd installation, the mariadb.service file will need to be copied from the support-files/systemd folder to the /usr/lib/systemd/system/ folder.

    Note that, by default, the /usr/ directory is write protected by systemd, though, so when having the data directory in /usr/local/mysql/data as per the instructions above, you also need to make that directory writable. You can do so by adding an extra service include file:

    After this, you can start the service using this command:

    Stop the service with this command:

    Please refer to the systemd page for further information.

    Post Installation

    After this, remember to set proper passwords for all accounts accessible from untrusted sources, to avoid exposing the host to security risks!

    Also consider using the mysql.server to start MariaDB automatically when your system boots.

    On systems using systemd, instead, enable automatic startup during system boot with this command:

    For details on the exact steps used to build the binaries, see the compiling MariaDB section.

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

    download
    mariadb-admin
    mariadb
    Installing MariaDB with yum
    Troubleshooting MariaDB Installs on RedHat/CentOS
    Checking MariaDB RPM Package Signatures
    sudo sed -i 's/^mysql_inst=yes/mysql_inst=no/' /usr/local/directadmin/custombuild/options.conf
    Installing MariaDB with the RPM Tool
    Installing MariaDB RPM Files
    Troubleshooting MariaDB Installs on RedHat/CentOS

    About the MariaDB RPM Files

    Provides an overview of the RPM packages available for MariaDB, listing the various RPMs such as server, client, backup, and shared libraries, and explaining their contents and dependencies.

    Available RPM Packages

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

    Available RPM Packages in MariaDB

    The following RPMs are available in current versions of MariaDB:

    Package Name
    Description

    Installing RPM Packages

    Preferably, you should install MariaDB RPM packages using the package manager of your Linux distribution, for example yum orzypper. But you can also use the lower-level rpm tool.

    Actions Performed by RPM Packages

    Users and Groups Created

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

    See Also

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

    Deploy with Local Package Repository Mirrors

    Learn how to create and maintain local mirrors of MariaDB package repositories for secure or air-gapped deployments.

    MariaDB Corporation provides package repositories, including the MariaDB Enterprise Repository and the MariaDB Community Repository, that can be used to install MariaDB products using the operating system's package manager. Local mirrors of the package repositories can be used for local deployments.

    Local package repository mirrors provide multiple benefits:

    • MariaDB Corporation's official package repositories are the source for the local mirror.

    • Tools provided by the operating system are used to create and maintain the local mirror.

    • After a local mirror is created, the mirror can be used just like the MariaDB repositories to install MariaDB products using the operating system's package manager.

    If you want to deploy MariaDB database products without using a local package repository mirror, are available. Available deployment methods are component-specific.

    Use Cases

    MariaDB database products can be deployed with local package repository mirrors to support use cases, such as:

    • Install from the mirror on an air-gapped network that is not connected to the internet

    • Remove packages from mirror for versions that are not used in the local environment

    • Add packages to mirror for tools and clients that are used in the local environment

    • Automatically install missing dependencies using a package manager

    Compatibility

    The following MariaDB database products can be deployed using package repositories:

    • MariaDB ColumnStore 5 (included with MariaDB Community Server 10.5)

    • MariaDB ColumnStore 6 (included with MariaDB Community Server 10.6)

    • MariaDB Community Server 10.2

    • MariaDB Community Server 10.3

    Operating System Package Managers

    The package manager depends on the operating system:

    Operating System
    Package Manager

    Create a Local Repository Mirror

    Creating a local mirror of the MariaDB Enterprise Repository or the MariaDB Community Repository enables you to distribute MariaDB products to your servers from a local repository you support. Secure any such repository mirror to prevent outside access.

    1. Set up a repository mirroring tool, for example:

      • YUM: reposync, available at:

      • APT: debmirror

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    MariaDB Installation via RPMs on CentOS 7

    A detailed walkthrough for installing a specific legacy version of MariaDB (10.1.21) on CentOS 7 using individual RPM packages, including dependency resolution.

    This guide provides the detailed steps for installing MariaDB 10.1.21 via individual RPM packages on CentOS 7. The process involves installing dependencies, then the main packages, and resolving potential conflicts as they appear.

    The RPMs needed for the installation are available from the MariaDB website. The required packages for this guide are:

    Step-by-Step Installation

    1. Install Basic Dependencies

    First, use yum to install some general system packages that may be required.

    2. Install MariaDB RPM Packages

    Next, install the downloaded RPMs in sequence. Make sure to run these commands as a user with sufficient privileges (e.g., using sudo).

    During this process, you may encounter errors related to dependencies or conflicts. The sections below describe these common issues and their solutions.

    Troubleshooting Common Installation Errors and Warnings

    Error 1: Package Conflict with mariadb-libs

    While installing mariadb-common, you may encounter a conflict with an existing package.

    You must find and remove the conflicting mariadb-libs package.

    After removing it, you can run the rpm -ivh MariaDB-10.1.21-centos7-x86_64-common.rpm command again.

    Error 2: Failed Dependency for Galera

    While installing the Galera package, the installation may fail due to a missing library.

    The required dependency libboost_program_options can be installed using yum.

    After installing boost-devel, you can run the rpm -ivh galera... command again.

    Warning: GPG Key NOKEY

    You may also see a warning about a missing GPG key during the installation.

    This warning can be resolved by importing the official MariaDB GPG key.

    Post-Installation

    After all RPMs are successfully installed, the final step is to secure the server. This involves setting the root password, removing test databases, and disallowing remote root login.


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

    groupadd mysql
    useradd -g mysql mysql
    cd /usr/local
    tar -zxvpf /path-to/mariadb-VERSION-OS.tar.gz
    ln -s mariadb-VERSION-OS mysql
    cd mysql
    ./scripts/mariadb-install-db --user=mysql
    chown -R root .
    chown -R mysql data
    ./bin/mariadbd-safe --user=mysql &
    or
    ./bin/mariadbd-safe --defaults-file=~/.my.cnf --user=mysql &
    export PATH=$PATH:/usr/local/mysql/bin/
    cd /usr/local
    gunzip < /path-to/mariadb-VERSION-OS.tar.gz | tar xf -
    ln -s mariadb-VERSION-OS mysql
    cd mysql
    ./scripts/mariadb-install-db --defaults-file=~/.my.cnf
    tar xfz /path-to/mariadb-VERSION-OS.tar.gz
    ./bin/mariadbd-safe --defaults-file=~/.my.cnf &
    cp support-files/mysql.server /etc/init.d/mysql.server
    cp support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service
    mkdir /etc/systemd/system/mariadb.service.d/
    
    cat > /etc/systemd/system/mariadb.service.d/datadir.conf <<EOF
    [Service]
    ReadWritePaths=/usr/local/mysql/data
    EOF
    
    systemctl daemon-reload
    systemctl start mariadb.service
    systemctl stop mariadb.service
    systemctl enable mariadb.service
    sudo curl -LsSo /etc/apt/trusted.gpg.d/mariadb-keyring-2025.gpg https://supplychain.mariadb.com/mariadb-keyring-2025.gpg
    sudo rpm --import https://supplychain.mariadb.com/MariaDB-Enterprise-GPG-KEY-2025
    sudo rpmkeys --import https://supplychain.mariadb.com/MariaDB-Enterprise-GPG-KEY-2025
    sudo curl -LsSo /etc/apt/trusted.gpg.d/mariadb-keyring-2025.gpg https://supplychain.mariadb.com/mariadb-keyring-2025.gpg
    sudo rpm --import https://supplychain.mariadb.com/MariaDB-MaxScale-GPG-KEY
    sudo rpmkeys --import https://supplychain.mariadb.com/MariaDB-MaxScale-GPG-KEY
    rpm -qa 'mysql*'
    rpm -ivh MariaDB-*
    Preparing...                ########################################### [100%]
       1:MariaDB-shared         ########################################### [ 14%]
       2:MariaDB-client         ########################################### [ 29%]
       3:MariaDB-client         ########################################### [ 43%]
       4:MariaDB-debuginfo      ########################################### [ 57%]
       5:MariaDB-devel          ########################################### [ 71%]
       6:MariaDB-server         ########################################### [ 86%]
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
    To do so, start the server, then issue the following commands:
    
    /usr/bin/mariadb-admin -u root password 'new-password'
    /usr/bin/mariadb-admin -u root -h hostname password 'new-password'
    
    Alternatively you can run:
    /usr/bin/mysql_secure_installation
    
    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.
    
    See the MySQL manual for more instructions.
    
    Please report any problems with the /usr/bin/mysqlbug script!
    
    The latest information about MariaDB is available at http://www.askmonty.org/.
    You can find additional information about the MySQL part at:
    http://dev.mysql.com
    Support MariaDB development by buying support/new features from
    Monty Program Ab. You can contact us about this at sales@askmonty.org.
    Alternatively consider joining our community based development effort:
    http://askmonty.org/wiki/index.php/MariaDB#How_can_I_participate_in_the_development_of_MariaDB
    
    Starting MySQL....[  OK  ]
    Giving mysqld 2 seconds to start
       7:MariaDB-test           ########################################### [100%]
    jemalloc-3.6.0-1.el7.x86_64.rpm
    MariaDB-10.1.21-centos7-x86_64-client.rpm
    MariaDB-10.1.21-centos7-x86_64-compat.rpm
    galera-25.3.19-1.rhel7.el7.centos.x86_64.rpm
    jemalloc-devel-3.6.0-1.el7.x86_64.rpm
    MariaDB-10.1.21-centos7-x86_64-common.rpm
    MariaDB-10.1.21-centos7-x86_64-server.rpm
    yum install rsync nmap lsof perl-DBI nmap-ncat
    any number of different MariaDB installations

    mariadb-common

    Character set files and /etc/my.cnf

    mariadb-common-debuginfo

    Debuginfo for character set files and /etc/my.cnf

    mariadb-compat

    Old shared client libraries, may be needed by old mariadb or mysql clients

    mariadb-connect-engine

    The CONNECT storage engine.

    mariadb-connect-engine-debuginfo

    Debuginfo for the CONNECT storage engine.

    mariadb-cracklib-password-check

    The cracklib_password_check password validation plugin.

    mariadb-cracklib-password-check

    Debuginfo for the cracklib_password_check password validation plugin.

    mariadb-devel

    Development headers and static libraries.

    mariadb-devel-debuginfo

    Debuginfo for development headers and static libraries.

    mariadb-gssapi-server

    The gssapi authentication plugin.

    mariadb-gssapi-server-debuginfo

    Debuginfo for the gssapi authentication plugin.

    mariadb-rocksdb-engine

    The MyRocks storage engine.

    mariadb-rocksdb-engine-debuginfo

    Debuginfo for the MyRocks storage engine.

    mariadb-server

    The server and server tools, like myisamchk and mariadb-hotcopy are here.

    mariadb-server-compat

    Symbolic links from old MySQL server executable names to MariaDB, like mysqld -> mariadbd or mysql_install_db -> mariadb-install-db. Good to have if you are using MySQL tool names in your scripts.

    mariadb-server-debuginfo

    Debuginfo for the server and server tools, like myisamchk and mariadb-hotcopy are here.

    mariadb-shared

    Dynamic client libraries.

    mariadb-shared-debuginfo

    Debuginfo for dynamic client libraries.

    mariadb-test

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

    mariadb-test-debuginfo

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

    mariadb-tokudb-engine

    The TokuDB storage engine.

    mariadb-tokudb-engine-debuginfo

    Debuginfo for the TokuDB storage engine.

    galera-4

    The WSREP provider for Galera 4.

    mariadb-backup

    mariadb-backup is a command-line utility for creating consistent and reliable backups of MariaDB databases, supporting full and incremental backup options.

    mariadb-backup-debuginfo

    Debuginfo for mariadb-backup

    mariadb-client

    Client tools like mariadb CLI, mariadb-dump, and others.

    mariadb-client-compat

    Symbolic links from old MySQL tool names to MariaDB, like mysqladmin -> mariadb-admin or mysql -> mariadb. Good to have if you are using MySQL tool names in your scripts.

    mariadb-client-debuginfo

    Debuginfo for client tools like mariadb CLI, mariadb-dump, and others.

    Installing MariaDB with yum
    MariaDB Community Server 10.4
  • MariaDB Community Server 10.5 (excluding ColumnStore 5)

  • MariaDB Community Server 10.6 (excluding ColumnStore 6)

  • MariaDB Enterprise ColumnStore 5 (included with MariaDB Enterprise Server 10.5)

  • MariaDB Enterprise ColumnStore 6 (included with MariaDB Enterprise Server 10.6)

  • MariaDB Enterprise Server 10.2

  • MariaDB Enterprise Server 10.3

  • MariaDB Enterprise Server 10.4

  • MariaDB Enterprise Server 10.5

  • MariaDB Enterprise Server 10.6

  • MariaDB Enterprise Server 11.4

  • MariaDB MaxScale 2.4

  • MariaDB MaxScale 2.5

  • MariaDB MaxScale 6

  • MariaDB MaxScale 22.08

  • Rocky Linux 8

    YUM

    SUSE Linux Enterprise Server 12 (SLES 12)

    ZYpp

    SUSE Linux Enterprise Server 15 (SLES 15)

    ZYpp

    Ubuntu 18.04 LTS (Bionic Beaver)

    APT

    Ubuntu 20.04 LTS (Focal Fossa)

    APT

    , available at:
  • Secure the repository mirror to prevent outside access.

  • CentOS 7

    YUM

    Debian 9

    APT

    Debian 10

    APT

    Debian 11

    APT

    Red Hat Enterprise Linux 7 (RHEL 7)

    YUM

    Red Hat Enterprise Linux 8 (RHEL 8)

    YUM

    alternative deployment methods
    Configure a MariaDB repository.
    23016
    Setup#Debian_Repository_Mirroring_Tools
    rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm
    rpm -ivh jemalloc-devel-3.6.0-1.el7.x86_64.rpm
    rpm -ivh MariaDB-10.1.21-centos7-x86_64-common.rpm
    rpm -ivh MariaDB-10.1.21-centos7-x86_64-compat.rpm
    rpm -ivh MariaDB-10.1.21-centos7-x86_64-client.rpm
    rpm -ivh galera-25.3.19-1.rhel7.el7.centos.x86_64.rpm
    rpm -ivh MariaDB-10.1.21-centos7-x86_64-server.rpm
    # rpm -ivh MariaDB-10.1.21-centos7-x86_64-common.rpm 
    
    warning: MariaDB-10.1.21-centos7-x86_64-common.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
    error: Failed dependencies:
    	mariadb-libs < 1:10.1.21-1.el7.centos conflicts with MariaDB-common-10.1.21-1.el7.centos.x86_64
    # Search for the installed package
    rpm -qa | grep mariadb-libs
    # Expected output: mariadb-libs-5.5.52-1.el7.x86_64
    
    # Remove the conflicting package (use the exact name from the command above)
    rpm -ev --nodeps mariadb-libs-5.5.52-1.el7.x86_64
    # rpm -ivh galera-25.3.19-1.rhel7.el7.centos.x86_64.rpm 
    
    error: Failed dependencies:
    	libboost_program_options.so.1.53.0()(64bit) is needed by galera-25.3.19-1.rhel7.el7.centos.x86_64
    yum install boost-devel.x86_64
    warning: galera-25.3.19-1.rhel7.el7.centos.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
    rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    # First, start the newly installed MariaDB service
    systemctl start mariadb
    
    # Now, run the security script and follow the prompts
    mysql_secure_installation

    Installing MariaDB Alongside MySQL

    Instructions for installing MariaDB on the same server as an existing MySQL installation, useful for migration testing or running multiple versions.

    MariaDB was originally designed as a drop-in replacement of MySQL, with more features, new storage engines, fewer bugs, and better performance, but you can also install it alongside MySQL. (This can be useful, for example, if you want to migrate databases/applications one by one.)

    Here are the steps to install MariaDB near an existing MySQL installation.

    • Download the compiled binary tar.gz file that contains the latest version.

    • Extract the files in a directory of your choice. In the following, we assume you chose the /opt directory.

    • Create data directory and symlinks as below:

    • Create group mariadb and user mariadb and set correct ownerships:

    • Create a new my.cnf in /opt/mariadb from support files:

    • Edit the file /opt/mariadb-data/my.cnf and add custom paths, socket, port, user and the most important of all: data directory and base directory. Finally the file should have at least the following:

    • Copy the init.d script from support files in the right location:

    • Edit /etc/init.d/mariadb replacing mysql with mariadb as below:

    The trickiest part will be the last changes to this file. You need to tell mariadb to use only one configuration file. In the start section after**$bindir/mysqld_safe** add --defaults-file=/opt/mariadb-data/my.cnf. Finally the lines should look like:

    The same change needs to be made to the command below in the wait_for_ready() function so that the mariadb start command can properly listen for the server start. In the wait_for_ready() function, after $bindir/mariadb-admin add --defaults-file=/opt/mariadb-data/my.cnf. The lines should look like:

    • Run by explicitly giving it the my.cnf file as argument:

    • Now you can start MariaDB by

    • Make MariaDB start at system start:

    • Finally test that you have both instances running:

    What about MariaDB Upgrades ?

    By having the mariadb.socket, my.cnf file and databases in /opt/mariadb-data means that if you want to upgrade the MariaDB version you will only need to:

    • Extract the new version from the archive in /opt near the current version,

    • Stop MariaDB.

    • Change the symlink mariadb to point to the new directory.

    • Start MariaDB.

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

    Installing MariaDB on macOS

    How to install MariaDB Server on macOS using the Homebrew package manager, including starting the service and securing the installation.

    MariaDB Server is available for installation on macOS via the package manager. MariaDB Server (together with many client programs and helper tools) is available as a Homebrew "bottle", a precompiled package. If you haven't yet installed Homebrew, .

    Installing & Starting MariaDB

    Install MariaDB Server:

    Start MariaDB Server:

    Alternatively, and strongly recommended, automatically start MariaDB Server:

    [root@mariadb-near-mysql ~]# cat /etc/issue
    CentOS release 6.2 (Final)
    
    [root@mariadb-near-mysql ~]# rpm -qa mysql*
    mysql-5.1.61-1.el6_2.1.x86_64
    mysql-libs-5.1.61-1.el6_2.1.x86_64
    mysql-server-5.1.61-1.el6_2.1.x86_64
    
    [root@mariadb-near-mysql ~]# ps axf | grep mysqld
     2072 pts/0    S+     0:00          \_ grep mysqld
     1867 ?        S      0:01 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock ...
     1974 ?        Sl     0:06  \_ /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql ...

    Run upgrade script... but remember you will need to provide the socket option --socket=/opt/mariadb-data/mariadb.sock .

    mariadb-admin
    mariadb-install-db
    [root@mariadb-near-mysql opt]# mkdir mariadb-data
    [root@mariadb-near-mysql opt]# ln -s mariadb-5.5.24-linux-x86_64 mariadb
    [root@mariadb-near-mysql opt]# ls -al
    total 20
    drwxr-xr-x.  5 root root 4096 2012-06-06 07:27 .
    dr-xr-xr-x. 23 root root 4096 2012-06-06 06:38 ..
    lrwxrwxrwx.  1 root root   27 2012-06-06 07:27 mariadb -> mariadb-5.5.24-linux-x86_64
    drwxr-xr-x. 13 root root 4096 2012-06-06 07:07 mariadb-5.5.24-linux-x86_64
    drwxr-xr-x.  2 root root 4096 2012-06-06 07:26 mariadb-data
    [root@mariadb-near-mysql opt]# groupadd --system mariadb
    [root@mariadb-near-mysql opt]# useradd -c "MariaDB Server" -d /opt/mariadb -g mariadb --system mariadb
    [root@mariadb-near-mysql opt]# chown -R mariadb:mariadb mariadb-5.5.24-linux-x86_64/
    [root@mariadb-near-mysql opt]# chown -R mariadb:mariadb mariadb-data/
    [root@mariadb-near-mysql opt]# cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf
    [root@mariadb-near-mysql opt]# chown mariadb:mariadb mariadb-data/my.cnf
    [client]
    port		= 3307
    socket		= /opt/mariadb-data/mariadb.sock
    
    [mysqld]
    datadir         = /opt/mariadb-data
    basedir         = /opt/mariadb
    port		= 3307
    socket		= /opt/mariadb-data/mariadb.sock
    user            = mariadb
    [root@mariadb-near-mysql opt]# cp mariadb/support-files/mysql.server /etc/init.d/mariadb
    [root@mariadb-near-mysql opt]# chmod +x /etc/init.d/mariadb
    - # Provides: mysql
    + # Provides: mariadb
    - basedir=
    + basedir=/opt/mariadb
    - datadir=
    + datadir=/opt/mariadb-data
    - lock_file_path="$lockdir/mysql"
    + lock_file_path="$lockdir/mariadb"
    # Give extra arguments to mysqld with the my.cnf file. This script
    # may be overwritten at next upgrade.
    $bindir/mysqld_safe --defaults-file=/opt/mariadb-data/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
    wait_for_ready () {
    [...]
        if $bindir/mariadb-admin --defaults-file=/opt/mariadb-data/my.cnf ping >/dev/null 2>&1; then
    [root@mariadb-near-mysql opt]# cd mariadb
    [root@mariadb-near-mysql mariadb]# scripts/mariadb-install-db --defaults-file=/opt/mariadb-data/my.cnf
    [root@mariadb-near-mysql opt]# /etc/init.d/mariadb start
    Starting MySQL...                                          [  OK  ]
    [root@mariadb-near-mysql opt]# cd /etc/init.d
    [root@mariadb-near-mysql init.d]# chkconfig --add mariadb 
    [root@mariadb-near-mysql init.d]# chkconfig --levels 3 mariadb on
    [root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();"
    +-----------+
    | VERSION() |
    +-----------+
    | 5.1.61    |
    +-----------+
    [root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadb.sock
    +----------------+
    | VERSION()      |
    +----------------+
    | 5.5.24-MariaDB |
    +----------------+

    Automatically starting MariaDB server installs a background service on macOS. Make sure to allow adding that background service. See this section for more information.

    Connecting to MariaDB Server

    After MariaDB Server has started, you can connect to the server using the shell user name (see this section for information on the user):

    Alternatively, connect as root:

    For graphical clients you can use instead of the mariadb command-line client, see this section.

    Upgrading MariaDB

    Update Homebrew packages:

    Then upgrade MariaDB Server:

    Notes & Further Information

    Homebrew Installation

    Install Homebrew like this:

    1. Open a Terminal (⌘ + Space to open Spotlight, type Terminal).

    2. Issue this command: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

      1. Alternatively, use the package installer (.pkg; at the time of writing this, https://github.com/Homebrew/brew/releases/download/5.0.4/Homebrew-5.0.4.pkg)

    3. Refer to the for more information, particularly to the .

    MariaDB Configuration

    In Homebrew, the configuration file for MariaDB is located at:

    • /usr/local/etc/my.cnf for Intel-based Macs.

    • /opt/homebrew/etc/my.cnf for Apple Silicon Macs (ARM architecture).

    MariaDB Information

    Find information about the MariaDB version, analytics, and more, using the brew info command:

    MariaDB Programs

    MariaDB Server (mariadbd), the MariaDB command-line client (mariadb), and many more clients and tools are installed in /opt/homebrew/Cellar/mariadb (for Apple Silicon Macs). Find the location for your machine, as well as the MariaDB programs installed, with these commands:

    Terminal User & MariaDB User

    To find out which user is used, issue these commands in a shell like Terminal:

    macOS Background Service

    If you start MariaDB automatically, a macOS background service is added. You can find the MariaDB background service in System Settings > General > Login Items & Extensions. It's named mariadbd-safe.

    The toggle switch allows you to turn off the automatic start of MariaDB. This prevents MariaDB Server from automatically starting once you reboot macOS.

    To review the resource usage of MariaDB Server, use this command (type q to exit topwhen done):

    Graphical Clients

    MariaDB doesn't offer graphical clients for working with MariaDB Server, but there are many third-party graphical clients, some of which run on macOS. One of those is Beekeeper Studio, a subscription-based client that has a (not too) limited free version, though.

    Assuming a standard Homebrew installation of MariaDB, and assuming you connect to MariaDB Server using the standard shell user, configure Beekeeper Studio like this:

    • Connection type: MariaDB

    • Authentication method: Username/Password

    • Connection mode: Socket

    • Socket path: /tmp/mysql.sock

    • Username: (name of the shell user, without the @localhost suffix)

    Once connected to MariaDB Server, you can run queries in Beehive Studio:

    The query shown in this screenshot uses a MariaDB sample database called nation which you can use to get familiar with MariaDB. See this section for more information.

    MariaDB Sample Database

    MariaDB offers a sample database you can use to get familiar with using MariaDB. You can download it here: https://mariadbtutorial.com/wp-content/uploads/2019/10/nation.zip

    Unzip nation.zip, then import the database into MariaDB Server, using this command (assuming you downloaded and unzipped the sample database in the Downloads folder):

    When done, use that database in the mariadb command-line client, like this:

    Alternatively, open the database in a graphical client.

    Building MariaDB Server from source

    In addition to the "bottled" MariaDB Server package available from Homebrew, you can use Homebrew to build MariaDB from source. This is useful if you want to use a different version of the server or enable some different capabilities that are not included in the bottle package.

    Two components not included in the bottle package are the CONNECT and OQGRAPH engines, because they have non-standard dependencies. To build MariaDB Server with these engines, you must first install boost and judy. Follow these steps to install the dependencies and build the server:

    You can also use Homebrew to build and install a pre-release version of MariaDB Server. Use this command to build and install a "development" version of MariaDB Server:

    Other resources

    • mariadb.rb on github

    • MariaDB Server on macOS: Does it even make sense to try? (video)

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

    Homebrew
    see this section

    Installing MariaDB MSI Packages on Windows

    Step-by-step instructions for installing MariaDB on Windows using the MSI installer, covering service configuration and security settings.

    MSI packages is available for x64 (64 bit) processor architectures and, in some older releases only, for x86 (32 bit). We use screenshots from an x64 installation in the following.

    Installation UI

    This is the typical mode of installation. To start the installer, click on the mariadb-...msi.

    brew install mariadb
    mysql.server start
    brew services start mariadb
    mariadb
    sudo mysql -u root
    brew update
    brew upgrade mariadb
    ~> brew info mariadb
    ==> mariadb: stable 12.1.2 (bottled)
    Drop-in replacement for MySQL
    https://mariadb.org/
    ...
    To restart mariadb after an upgrade:
      brew services restart mariadb
    Or, if you don't want/need a background service you can just run:
      /opt/homebrew/opt/mariadb/bin/mariadbd-safe --datadir\=/opt/homebrew/var/mysql
    ==> Analytics
    install: 6,319 (30 days), 12,735 (90 days), 62,444 (365 days)
    install-on-request: 6,291 (30 days), 12,670 (90 days), 62,137 (365 days)
    build-error: 8 (30 days)
    ~> which mariadb
    /opt/homebrew/bin/mariadb # in the next command, use this location to cd to
    ~> cd /opt/homebrew/bin/; ls -1 maria*
    mariabackup
    mariadb
    mariadb-access
    ...
    mariadbd
    mariadbd-multi
    mariadbd-safe
    mariadbd-safe-helper
    ~> users
    myuser
    ~> mariadb -e "SELECT USER()"
    +------------------+
    | USER()           |
    +------------------+
    | myuser@localhost |
    +------------------+
    top -pid $(pgrep mariadbd)
    mariadb < Downloads/nation.sql
    ~> mariadb nation
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 14
    Server version: 12.1.2-MariaDB Homebrew
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [nation]> SHOW TABLES;
    +-------------------+
    | Tables_in_nation  |
    +-------------------+
    | continents        |
    | countries         |
    | country_languages |
    | country_stats     |
    | guests            |
    | languages         |
    | region_areas      |
    | regions           |
    | vips              |
    +-------------------+
    9 rows in set (0.001 sec)
    brew install boost judy
    brew install mariadb --build-from-source
    brew install mariadb --devel
    Homebrew website
    Homebrew documentation
    Welcome
    Welcome dialog

    License Agreement

    License Agreement

    You must accept the terms in the license agreement. Proceed to the next dialog.

    Custom Setup

    Custom Setup

    Choose what features to install. By default, all features are installed with the exception of the debug symbols. If the "Database instance" feature is selected, the installer will create a database instance, by default running as a service. In this case the installer will present additional dialogs to control various database properties. Note that you do not necessarily have to create an instance at this stage. For example, if you already have MySQL or MariaDB databases running as services, you can just upgrade them during the installation. Also, you can create additional database instances after the installation, with the mysql_install_db.exe utility.

    By default, if you install a database instance, the data directory are in the data folder under the installation root. To change the data directory location, select Database instance in the feature tree, and use the Browse button to select another location.

    Database Authentication/Security Related Properties

    Database security properties

    This dialog is shown if you selected the Database instance feature. Here, you can set the password for the "root" database user and specify whether root can access databases from remote machines. The Create anonymous account setting allows for anonymous (non-authenticated) users. It is off by default; it is not recommended to change this setting.

    Other Database Properties

    Other database properties
    • Install as service.

    • Defines whether the database should be run as a service. If it should be run as a service, then it also defines the service name. It is recommended to run your database instance as a service as it greatly simplifies database management. In and later, the default service name used by the MSI installer is "MariaDB". In 10.3 and before, the default service name used by the MSI installer is "MySQL". Note that the default service name for the --install and --install-manual options for mysqld.exe is "MySQL" in all versions of MariaDB.

    • Enable Networking.

    • Whether to enable TCP/IP (recommended) and which port MariaDB should listen to. If security is a concern, you can change the parameter post-installation to bind to only local addresses. If the "Enable networking" checkbox is deselected, the database will use named pipes for communication.

    • InnoDB engine settings.

    • Defines the size, and the InnoDB . The default buffer pool size is 12.5% of RAM, and depending on your requirements you can give InnoDB more (up to 70-80% RAM). 32 bit versions of MariaDB have restrictions on maximum buffer pool size, which is approximately 1GB, due to virtual address space limitations for 32bit processes. A 16k page size is suitable for most situations. See the system variable for details on other settings.

    Ready to Install

    Ready Dialog

    At this point, all installation settings are collected. Click on the "Install" button.

    End

    Finish

    Installation is finished now. If you have upgradable instances of MariaDB/MySQL, running as services, this dialog will present a "Do you want to upgrade existing instances" checkbox (if selected, it launches the Upgrade Wizard post-installation).

    If you installed a database instance as service, the service will be running already.

    New Entries in Start Menu

    Installation will add some entries in the Start Menu:

    Start Menu
    • MariaDB Client - Starts command line client mysql.exe.

    • Command Prompt - Starts a command prompt. Environment is set such that "bin" directory of the installation is included into PATH environment variable, for instance, use this command prompt to issue MariaDB commands (for example, mysqldadmin or mysql).

    • Database directory - Opens the data directory in Explorer.

    • Error log - Opens the database error log in Notepad.

    • my.ini - Opens the database configuration file my.ini in Notepad.

    • Upgrade Wizard - Starts the Wizard to upgrade an existing MariaDB/MySQL database instance to this MariaDB version.

    Uninstall UI

    In the Explorer applet Programs and Features, find the entry for MariaDB, choose Uninstall/Change and click on the Remove button in the dialog:

    UninstallChangeDialog_New

    If you installed a database instance, you will need to decide if you want to remove or keep the data in the database directory.

    KeepOrRemoveDataDialog_New

    Silent Installation

    The MSI installer supports silent installations as well. In its simplest form silent installation with all defaults can be performed from an elevated command prompt like this:

    The installation is silent due to msiexe.exe's /qn switch (no user interface). If you remove the switch, the installation has the full UI.

    Properties

    Silent installations also support installation properties (a property would correspond for example to checked/unchecked state of a checkbox in the UI, user password, etc). With properties the command line to install the MSI package would look like this:

    The MSI installer package requires property names to be all capitals and contain only English letters. By convention, for a boolean property, an empty value means "false" and a non-empty is "true".

    MariaDB installation supports the following properties:

    Property name
    Default value
    Description

    INSTALLDIR

    %ProgramFiles%\MariaDB \

    Installation root

    PORT

    3306

    --port parameter for the server

    ALLOWREMOTEROOTACCESS

    Allow remote access for root user

    BUFFERPOOLSIZE

    RAM/8

    Features

    Feature is a Windows installer term for a unit of installation. Features can be selected and deselected in the UI in the feature tree in the "Custom Setup" dialog.

    Silent installation supports adding features with the special ropertyADDLOCAL=Feature_1,..,Feature_N and removing features with REMOVE=Feature_1,..., Feature_N .

    Features in the MariaDB installer:

    Feature id
    Installed by default?
    Description

    DBInstance

    yes

    Install database instance

    Client

    yes

    Command line client programs

    MYSQLSERVER

    yes

    Install server

    SharedLibraries

    yes

    Silent Installation Examples

    All examples here require running as administrator with elevated command line privileges.

    • Install default features, database instance as service, non-default datadir and port:

    • Install service, add debug symbols, do not add development components (client libraries and headers).

    Silent Uninstall

    To uninstall silently, use the REMOVE=ALL property with msiexec:

    To keep the data directory during an uninstall, you will need to pass an additional parameter:

    Installation Logs

    If you encounter a bug in the installer, use the installer logs for diagnosis. Please attach verbose logs to the bug reports you create. To create a verbose installer log, start the installer from the command line with the /l*v switch, like so:

    Running 32 and 64 Bit Distributions on the Same Machine

    It is possible to install 32 and 64 bit packages on the same Windows x64.

    Apart from testing, an example where this feature can be useful is a development scenario, where users want to run a 64 bit server and develop both 32 and 64 bit client components. In this case the full 64 bit package can be installed, including a database instance plus development-related features (headers and libraries) from the 32 bit package.

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

    Installing MariaDB with yum/dnf

    Comprehensive guide to installing MariaDB using `yum` or `dnf` on RHEL, CentOS, and Fedora, covering repository configuration, GPG key import, and package installation.

    On RHEL, CentOS, Fedora, and other similar Linux RPM based distributions, these provide MariaDB packages. These are supported by those distributions. If you have a particular need for a later version than what is in the distribution, then MariaDB provides repositories for them.

    Using repositories rather than installing RPM allows for an ease of update when a new release is made. It is highly recommended to install the relevant from MariaDB's repository using or . Centos 7 still uses yum, most others use dnf, and SUSE/openSUSE use zypper.

    This page walks you through the simple installation steps using dnf and yum.

    Installing MariaDB with zypper

    Detailed steps for installing MariaDB on SLES and OpenSUSE using the `zypper` package manager, including repository configuration and package installation.

    On SLES, OpenSUSE, and other similar Linux distributions, it is highly recommended to install the relevant from MariaDB's repository using .

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

    Adding the MariaDB ZYpp repository

    We currently have ZYpp repositories for the following Linux distributions:

    msiexec /i path-to-package.msi /qn
    msiexec /i path-to-package.msi [PROPERTY_1=VALUE_1 ... PROPERTY_N=VALUE_N] /qn
    msiexec /i path-to-package.msi SERVICENAME=MySQL DATADIR=C:\mariadb5.2\data PORT=3307 /qn
    msiexec /i path-to-package.msi SERVICENAME=MySQL ADDLOCAL=DEBUGSYMBOLS REMOVE=DEVEL /qn
    msiexec /i path-to-package.msi REMOVE=ALL /qn
    msiexec /i path-to-package.msi REMOVE=ALL CLEANUPDATA="" /qn
    msiexec.exe /i path-to-package.msi  /l*v path-to-logfile.txt
    Adding the MariaDB YUM repository

    We currently have YUM/DNF repositories for the following Linux distributions, and for the versions that are in standard (not extended) support:

    • Red Hat Enterprise Linux (RHEL)

    • CentOS

    • Fedora

    • openSUSE

    • SUSE

    Using the MariaDB Package Repository Setup Script

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

    MariaDB Corporation provides a MariaDB Package Repository for several Linux distributions that use yum to manage packages. This repository contains software packages related to MariaDB Server, including the server itself, clients and utilities, client libraries, plugins, and mariadb-backup. 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:

    The script also configures a repository for and a repository for MariaDB Tools, which currently only contains Percona XtraBackup and its dependencies.

    See MariaDB Package Repository Setup and Usage for more information.

    Using the MariaDB Repository Configuration Tool

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

    The MariaDB Foundation provides a MariaDB repository for several Linux distributions that use yum to manage packages. This repository contains software packages related to MariaDB Server, including the server itself, clients and utilities, client libraries, plugins, and mariadb-backup. The MariaDB Repository Configuration Tool can easily generate the appropriate configuration file to add the repository for your distribution.

    Once you have the appropriate repository configuration section for your distribution, add it to a file named MariaDB.repo under /etc/yum.repos.d/.

    For example, if you wanted to use the repository to install MariaDB 10.6 on RHEL (any version), then you could use the following yum repository configuration in /etc/yum.repos.d/MariaDB.repo:

    The example file above includes a gpgkey line to automatically fetch the GPG public key that is used to verify the digital signatures of the packages in our repositories. This allows the yum, dnf, and rpm utilities to verify the integrity of the packages that they install.

    Pinning the MariaDB Repository to a Specific Minor Release

    If you wish to pin the yum repository to a specific minor release, or if you would like to do a yum downgrade to a specific minor release, then you can create a yum repository configuration with a baseurl option set to that specific minor release.

    For example, if you wanted to pin your repository to on CentOS 7, then you could use the following yum repository configuration in /etc/yum.repos.d/MariaDB.repo:

    To change an existing repository configuration, you may execute the following command:

    Updating the MariaDB YUM repository to a New Major Release

    MariaDB's yum 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 yum to install from MariaDB Corporation's MariaDB Package Repository by using the MariaDB Package Repository setup script, 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 yum to install from MariaDB Foundation's MariaDB Repository by using the MariaDB Repository Configuration Tool, then you can update the major release that the repository uses by updating the yum repository configuration file in-place. For example, if you wanted to change the repository from MariaDB 10.6 to MariaDB 10.11, and if the repository configuration file was at /etc/yum.repos.d/MariaDB.repo, then you could execute the following:

    After that, the repository should refer to MariaDB 10.11.

    If the yum repository is pinned to a specific minor release, then the above sed command can result in an invalid repository configuration. In that case, the recommended options are:

    • Edit the MariaDB.repo repository file manually.

    • Or delete the MariaDB.repo repository file, and then install the repository of the new version with the more robust MariaDB Package Repository setup script.

    The MariaDB GPG Key

    See the GPG page for information on the various keys used by MariaDB.

    Installing MariaDB Packages with YUM/DNF

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

    Installing the Most Common Packages

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

    Installing MariaDB Server

    To Install MariaDB Server, execute the following command:

    Installing MariaDB Galera Cluster with YUM

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

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

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

    If you haven't yet imported the MariaDB GPG public key, then yum will prompt you to import it after it downloads the packages, but before it prompts you to install them.

    See MariaDB Galera Cluster for more information on MariaDB Galera Cluster.

    Installing MariaDB Clients and Client Libraries with YUM

    has been included as the client library (staticly linked). However, the package name for the client library has not been changed.

    To Install the clients and client libraries, execute the following command:

    If you want compile your own programs against MariaDB Connector/C, execute the following command:

    Installing mariadb-backup with YUM

    To install mariadb-backup, execute the following command:

    Installing Plugins with YUM

    Some plugins may also need to be installed.

    For example, to install the cracklib_password_check password validation plugin, execute the following command:

    Installing Debug Info Packages with YUM

    The MariaDB yum repository also contains debuginfo packages. These package may be needed when .

    Installing Debug Info for the Most Common Packages with YUM

    To install debuginfo for the most common packages, execute the following command:

    All packages have their debuginfo by appending -debuginfo to the package name.

    Installing Debug Info for MariaDB Server with YUM

    To install debuginfo for MariaDB Server, execute the following command:

    Installing Older Versions from the Repository

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

    The output shows the available versions. For example:

    The MariaDB repository in this example contains MariaDB 12.1.2, 12.0.2, and 11.8.2; and the appstream repository contains MariaDB 10.3.39.

    To install an older version of a package instead of the latest version we just need to specify the package name, a dash, and then the version number. And we only need to specify enough of the version number for it to be unique from the other available versions.

    However, when installing an older version of a package, if dependencies need to be installed, then it will automatically choose to install the latest versions of those packages, which can sometimes break those dependencies. To ensure that all MariaDB packages are on the same version in this scenario, it is necessary to specify them all.

    The MariaDB packages that the MariaDB-server package depend on are: MariaDB-client, MariaDB-shared, and MariaDB-common. Therefore, to install MariaDB 12.0.2 from this yum repository, we could do the following (putting the version in a variable and each package on its own line so things are cleaner):

    For MariaDB Enterprise it is necessary to specify the release part of the version number as well, but with an underscore (_) instead of a dash (-), as that is how dnf/yum see the version number. For example, for MariaDB Enterprise Server 11.8.5-2 you would specify the version as 11.8.5_2. For example:

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

    After Installation

    After the installation is complete, you can start MariaDB with:

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

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

    RPM packages
    yum
    dnf

    SUSE Linux Enterprise Server (SLES) 12

  • SUSE Linux Enterprise Server (SLES) 15

  • OpenSUSE 15

  • OpenSUSE 42

  • Using the MariaDB Package Repository Setup Script

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

    MariaDB Corporation provides a MariaDB Package Repository for several Linux distributions that use zypper to manage packages. This repository contains software packages related to MariaDB Server, including the server itself, clients and utilities, client libraries, plugins, and mariadb-backup. 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 MariaDB MaxScale and a repository for MariaDB Tools, which currently only contains Percona XtraBackup and its dependencies.

    See MariaDB Package Repository Setup and Usage for more information.

    Using the MariaDB Repository Configuration Tool

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

    The MariaDB Foundation provides a MariaDB repository for several Linux distributions that use zypper to manage packages. This repository contains software packages related to MariaDB Server, including the server itself, clients and utilities, client libraries, plugins, and mariadb-backup. The MariaDB Repository Configuration Tool can easily generate the appropriate commands to add the repository for your distribution.

    For example, if you wanted to use the repository to install MariaDB 10.6 on SLES 15, then you could use the following commands to add the MariaDB zypper repository:

    Pinning the MariaDB Repository to a Specific Minor Release

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

    So if you can't find the repository of a specific minor release at yum.mariadb.org, then it would be a good idea to check the archive.

    For example, if you wanted to pin your repository to MariaDB 10.6.21 on SLES 15, then you could use the following commands to add the MariaDB zypper repository:

    Updating the MariaDB ZYpp repository to a New Major Release

    MariaDB's zypper 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 zypper to install from MariaDB Corporation's MariaDB Package Repository by using the MariaDB Package Repository setup script, 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 zypper to install from MariaDB Foundation's MariaDB Repository by using the MariaDB Repository Configuration Tool, then you can update the major release that the repository uses by removing the repository for the old version and adding the repository for the new version.

    First, you can remove the repository for the old version by executing the following command:

    After that, you can add the repository for the new version. For example, if you wanted to use the repository to install MariaDB 10.6 on SLES 15, then you could use the following commands to add the MariaDB zypper repository:

    After that, the repository should refer to MariaDB 10.6.

    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 zypper and rpm utilities to verify the integrity of the packages that they install.

    The id of our GPG public key is 0xcbcb082a1bb943db. The short form of the id is 0x1BB943DB. The full key fingerprint is:

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

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

    Installing MariaDB Packages with ZYpp

    After the zypper repository is configured, you can install MariaDB by executing the zypper 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 ZYpp

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

    Installing MariaDB Server with ZYpp

    To Install MariaDB Server, execute the following command:

    Installing MariaDB Galera Cluster with ZYpp

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

    Galera Cluster support has been 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 Galera 4 wsrep provider library.

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

    If you haven't yet imported the MariaDB GPG public key, then zypper will prompt you to import it after it downloads the packages, but before it prompts you to install them.

    See MariaDB Galera Cluster for more information on MariaDB Galera Cluster.

    Installing MariaDB Clients and Client Libraries with ZYpp

    has been included as the client library. However, the package name for the client library has not been changed.

    To Install the clients and client libraries, execute the following command:

    Installing mariadb-backup with ZYpp

    To install mariadb-backup, execute the following command:

    Installing Plugins with ZYpp

    Some plugins may also need to be installed.

    For example, to install the cracklib_password_check password validation plugin, execute the following command:

    Installing Debug Info Packages with ZYpp

    The MariaDB zypper repository also contains debuginfo packages. These package may be needed when .

    Installing Debug Info for the Most Common Packages with ZYpp

    To install debuginfo for the most common packages, execute the following command:

    Installing Debug Info for MariaDB Server with ZYpp

    To install debuginfo for MariaDB Server, execute the following command:

    Installing Debug Info for MariaDB Clients and Client Libraries with ZYpp

    has been included as the client library. However, the package name for the client library has not been changed.

    To install debuginfo for the clients and client libraries, execute the following command:

    Installing Debug Info for mariadb-backup with ZYpp

    To install debuginfo for mariadb-backup, execute the following command:

    Installing Debug Info for Plugins with ZYpp

    For some plugins, debuginfo may also need to be installed.

    For example, to install debuginfo for the cracklib_password_check password validation plugin, execute the following command:

    Installing Older Versions from the Repository

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

    In the output you will see the available versions.

    To install an older version of a package instead of the latest version we just need to specify the package name, a dash, and then the version number. And we only need to specify enough of the version number for it to be unique from the other available versions.

    However, when installing an older version of a package, if zypper has to install dependencies, then it will automatically choose to install the latest versions of those packages. To ensure that all MariaDB packages are on the same version in this scenario, it is necessary to specify them all.

    The packages that the MariaDB-server package depend on are: MariaDB-client, MariaDB-shared, and MariaDB-common. Therefore, to install MariaDB 10.6.21 from this zypper repository, we would do the following:

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

    After Installation

    After the installation is complete, you can start MariaDB.

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

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

    RPM packages
    zypper

    Bufferpoolsize for innodb

    CLEANUPDATA

    1

    Remove the data directory (uninstall only)

    DATADIR

    INSTALLDIR\data

    Location of the data directory

    DEFAULTUSER

    Allow anonymous users

    PASSWORD

    Password of the root user

    SERVICENAME

    Name of the Windows service. A service is not created if this value is empty.

    SKIPNETWORKING

    Skip networking

    STDCONFIG

    1

    Corresponds to "optimize for transactions" in the GUI, default engine innodb, strict sql mode

    UTF8

    if set, adds character-set-server=utf8 to my.ini file

    PAGESIZE

    16K

    page size for innodb

    Install client shared library

    DEVEL

    yes

    install C/C++ header files and client libraries

    HeidiSQL

    yes

    Installs HeidiSQL

    bind-address
    InnoDB buffer pool
    page size
    innodb_page_size
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
    [mariadb]
    name = MariaDB
    baseurl = https://rpm.mariadb.org/10.6/rhel/$releasever/$basearch
    gpgkey= https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    [mariadb]
    name = MariaDB-10.8.8
    baseurl= http://archive.mariadb.org/mariadb-10.8.8/yum/centos/$releasever/$basearch
    gpgkey= https://archive.mariadb.org/PublicKey
    gpgcheck=1
    sudo yum clean all
    sudo sed -i 's/10.6/10.11/' /etc/yum.repos.d/MariaDB.repo
    sudo dnf install MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common
    sudo dnf install MariaDB-server
    sudo dnf install MariaDB-server MariaDB-client galera-4
    sudo dnf install MariaDB-client MariaDB-shared
    sudo dnf install MariaDB-devel
    sudo yum install MariaDB-backup
    sudo dnf install MariaDB-cracklib-password-check
    sudo dnf install MariaDB-server-debuginfo MariaDB-client-debuginfo MariaDB-shared-debuginfo MariaDB-backup-debuginfo MariaDB-common-debuginfo
    sudo dnf install MariaDB-server-debuginfo
    sudo dnf list --showduplicates MariaDB-server
    sudo dnf list --showduplicates MariaDB-server
    Last metadata expiration check: 0:01:42 ago on Fri 12 Dec 2025 03:47:20 PM UTC.
    Available Packages
    MariaDB-server.x86_64  11.8.2-1.el8                               mariadb-main
    MariaDB-server.x86_64  12.0.2-1.el8                               mariadb-main
    MariaDB-server.x86_64  12.1.2-1.el8                               mariadb-main
    mariadb-server.x86_64  3:10.3.39-1.module+el8.8.0+1452+2a7eab68   appstream
    ver=12.0.2
    sudo dnf install \
      MariaDB-server-${ver} \
      MariaDB-client-${ver} \
      MariaDB-shared-${ver} \
      MariaDB-common-${ver}
    ver=11.8.5_2
    sudo dnf install \
      MariaDB-server-${ver} \
      MariaDB-client-${ver} \
      MariaDB-shared-${ver} \
      MariaDB-common-${ver}
    sudo systemctl start mariadb 
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
    sudo zypper addrepo --gpgcheck --refresh https://yum.mariadb.org/10.6/sles/15/x86_64 mariadb
    sudo zypper --gpg-auto-import-keys refresh
    sudo zypper removerepo mariadb
    sudo zypper addrepo --gpgcheck --refresh https://yum.mariadb.org/10.6.21/sles/15/x86_64 mariadb
    sudo zypper removerepo mariadb
    sudo zypper addrepo --gpgcheck --refresh https://yum.mariadb.org/10.6/sles/15/x86_64 mariadb
    sudo zypper --gpg-auto-import-keys refresh
    1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB
    sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    sudo zypper install MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common
    sudo zypper install MariaDB-server
    sudo zypper install MariaDB-server MariaDB-client galera-4
    sudo zypper install MariaDB-client MariaDB-shared
    sudo zypper install MariaDB-backup
    sudo zypper install MariaDB-cracklib-password-check
    sudo zypper install MariaDB-server-debuginfo MariaDB-client-debuginfo MariaDB-shared-debuginfo MariaDB-backup-debuginfo MariaDB-common-debuginfo
    sudo zypper install MariaDB-server-debuginfo
    sudo zypper install MariaDB-client-debuginfo MariaDB-shared-debuginfo
    sudo zypper install MariaDB-backup-debuginfo
    sudo zypper install MariaDB-cracklib-password-check-debuginfo
    zypper search --details MariaDB-server
    sudo zypper install MariaDB-server-10.6.21 MariaDB-client-10.6.21 MariaDB-shared-10.6.21 MariaDB-backup-10.6.21 MariaDB-common-10.6.21

    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

    MariaDB Package Repository Setup and Usage

    Instructions on configuring and using the MariaDB package repository.

    Overview

    If you are looking to set up MariaDB Server, it is often easiest to use a repository. MariaDB Foundation has a repository configuration tool and MariaDB Corporation provides two convenient shell scripts to configure access to their MariaDB Package Repositories:

    • mariadb_es_repo_setup for MariaDB Enterprise Server, which can be downloaded from:

    • mariadb_repo_setup for MariaDB Community Server, which can be downloaded from:

    Using MariaDB Foundation's Repository Configuration Tool

    Visit and follow the instructions from there. It will ask for your Linux distribution, desired MariaDB version, and the mirror to use, and will show what files to edit and what commands to run to configure a repository.

    Using MariaDB Corporation's Repository Setup Scripts

    Alternatively, you can run a convenient shell script that will automatically configure a repository for you.

    Download and Verify the Script

    The repository setup script can be downloaded and verified in the following way:

    Download the script:

    Verify the checksum of the script:

    Download the script:

    Verify the checksum of the script:

    Checksums of the various releases of the MariaDB Corporation's repository setup scripts can be found in the section at the bottom of this page. Substitute ${checksum} in the example above with the checksum of the version of the script you are using.

    Prerequisites

    For the script to work, the curl package needs to be installed on your system. Additionally on Debian and Ubuntu the apt-transport-https package needs to be installed. The script will check if these are installed and let you know before it attempts to create the repository configuration on your system.

    They can be installed on your system as follows:

    Run the Script

    After the script is downloaded you need to run it with root user permissions. This is normally accomplished by using the sudo command:

    Retrieve your customer downloads token:

    1. Navigate to and log in

    2. Copy the Customer Download Token

    3. Substitute your token for ${token} when running the mariadb_es_repo_setup script, below

    Repositories

    The script will set up different repositories in a single repository configuration file.

    The default repositories setup by mariadb_es_repo_setup are:

    • MariaDB Enterprise Server Repository

      • A MariaDB Enterprise Server Debug Repository (Ubuntu only)

    • MariaDB Enterprise MaxScale Repository

    • MariaDB Enterprise Tools Repository

    The default repositories set up by mariadb_repo_setup are:

    • MariaDB Community Server Repository

    • MariaDB Community Server Debug Repository (Ubuntu only)

    • MariaDB MaxScale Repository

    • MariaDB Tools Repository

    Ubuntu needs a separate debug repository for MariaDB Server debug packages. Other Linux distributions include the debug packages in the main repository. Debug packages should normally only be installed for specific purposes under the direction of a qualified support engineer.

    MariaDB Community Server Repository

    The MariaDB Community Server Repository contains software packages related to MariaDB Server, including the server itself, , , , and .

    The binaries in MariaDB Corporation's MariaDB Repository are identical to the binaries in MariaDB Foundation's MariaDB Repository that is configured with the .

    By default, the mariadb_repo_setup script will configure your system to install from the 12.rolling repository, which contains the latest stable version of MariaDB Community server.

    The mariadb_es_repo_setup script will set up the current latest stable version of MariaDB Enterprise Server.

    If you would like to stick to a specific release series, then you will need to either manually edit the repository configuration file to point to that specific version or series, or run the MariaDB Package Repository setup script again using the --mariadb-server-version option. For example, if you wanted to specifically use the 11.4 series you would do: --mariadb-server-version=11.4.

    If you do not want to configure the MariaDB Repository on your system, for example if you are setting up a server just running MariaDB MaxScale, then you can use the --skip-server option to prevent the setup script from configuring the server repository.

    MariaDB MaxScale Repository

    Note

    MaxScale releases, as of 2025-12-09, are now signed with a new key. The mariadb_repo_setup and mariadb_es_repo_setup scripts have been updated to automatically install the new key, but for existing repositories you'll need to do the following.

    The MariaDB MaxScale Repository contains software packages related to .

    By default, the script will configure your system to install from the repository of the latest GA version of MariaDB MaxScale. When a new major GA release occurs, the repository will automatically switch to the new version. If instead you would like to stay on a particular version you will need to manually edit the repository configuration file and change 'latest' to the version you want (e.g. '6.1') or run the MariaDB Package Repository setup script again, specifying the particular version or series you want.

    Older versions of the MariaDB Package Repository setup script would configure a specific MariaDB MaxScale series in the repository (i.e. 24.02), so if you used the script in the past to set up your repository and want MariaDB MaxScale to automatically use the latest GA version then change 24.02 or whatever version it is set to in the repository configuration to latest. Or download the current version of the setup script and re-run it to set up the repository again.

    The script can configure your system to install from the repository of an older version of MariaDB MaxScale if you use the --mariadb-maxscale-version option. For example, --mariadb-maxscale-version=25.01 .

    If you do not want to configure the MariaDB MaxScale Repository on your system, then you can use the --skip-maxscale option to prevent the setup script from configuring it.

    Supported Distributions

    The script supports Linux distributions that are officially supported by MariaDB Corporation's . However, a MariaDB TX subscription with MariaDB Corporation is not required to use the MariaDB Package Repository.

    The distributions currently supported by the script include:

    • Red Hat Enterprise Linux (RHEL and equivalents) 8, 9, and 10

    • Debian 11 (Bullseye), 12 (Bookworm), and 13 (Trixie, community server only)

    • Ubuntu 22.04 LTS (Jammy), and 24.04 LTS (Noble)

    • SUSE Linux Enterprise Server (SLES) 15

    To install MariaDB on distributions not supported by the MariaDB Package Repository setup script, please consider using MariaDB Foundation's . Some Linux distributions also include MariaDB .

    Options

    To provide options to the script, you must tell your to expect them by executing bash with the options -s --, for example:

    Option
    Description

    --mariadb-server-version

    By default, the script will configure your system to install from the repository of the latest GA version of MariaDB. If a new major GA release occurs and you would like to upgrade to it, then you will need to either manually edit the repository configuration file to point to the new version, or run the MariaDB Package Repository setup script again.

    The script can also configure your system to install from the repository of a different version of MariaDB if you use the --mariadb-server-version option.

    The string mariadb- has to be prepended to the version number. For example, to configure your system to install from the repository of MariaDB 11.8, that would be:

    The following MariaDB versions are currently supported:

    • mariadb-10.6

    • mariadb-10.11

    • mariadb-11.4

    • mariadb-11.8

    If you want to pin the repository of a specific minor release, such as MariaDB 11.8.5, then you can also specify the minor release. For example,mariadb-10.8.5. This may be helpful if you want to avoid upgrades. However, avoiding upgrades is not recommended, since minor maintenance releases may contain important bug fixes and fixes for security vulnerabilities.

    --mariadb-maxscale-version

    By default, the script will configure your system to install from the repository of the latest GA version of MariaDB MaxScale.

    If you would like to pin the repository to a specific version of MariaDB MaxScale then you will need to either manually edit the repository configuration file to point to the desired version, or use the --mariadb-maxscale-version option.

    For example, to configure your system to install from the repository of MariaDB MaxScale 6.1, that would be:

    The following MariaDB MaxScale versions are currently supported:

    • MaxScale 25.10

    • MaxScale 25.01

    • MaxScale 24.02

    • MaxScale 23.08

    The special identifiers latest (for the latest GA release) and beta (for the latest beta release) are also supported. By default themariadb_repo_setup script uses latest as the version.

    --os-type and --os-version

    If you want to run this script on an unsupported OS that you believe to be package-compatible with an OS that is supported, then you can use the--os-type and --os-version options to override the script's OS detection. If you use either option, then you must use both options.

    The supported values for --os-type are:

    • rhel

    • debian

    • ubuntu

    • sles

    If you use a non-supported value, then the script will fail, just as it would fail if you ran the script on an unsupported OS.

    The supported values for --os-version are entirely dependent on the OS type.

    For Red Hat Enterprise Linux (RHEL): 8, 9, and 10 are valid options.

    For Debian and Ubuntu, the version must be specified as the codename of the specific release. For example, Debian 13 must be specified as trixie, and Ubuntu 24.04 must be specified as noble.

    These options can be useful if your distribution is a fork of another distribution. As an example, Pop!_OS 24.04 LTS is based on and is fully compatible with Ubuntu 24.04 LTS (noble). Therefore, If you are using Pop!_OS, then you can configure your system to install from the repository of Ubuntu 24.04 LTS (noble) by specifying --os-type=ubuntu --os-version=noble to the MariaDB Package Repository setup script.

    For example, to manually set the --os-type and --os-version to RHEL 10 you could do:

    --write-to-stdout

    The --write-to-stdout option will prevent the script from modifying anything on the system. The repository configuration will not be written to the repository configuration file. Instead, it will be printed to standard output. That allows the configuration to be reviewed, redirected elsewhere, consumed by another script, or used in some other way.

    The --write-to-stdout option automatically enables --skip-key-import.

    For example:

    Platform-Specific Behavior

    Platform-Specific Behavior on RHEL and equivalents

    On Red Hat Enterprise Linux (RHEL) and equivalents, the MariaDB Package Repository setup script performs the following tasks:

    1. Creates a repository configuration file at /etc/yum.repos.d/mariadb.repo

    2. Imports the GPG public key used to verify the signature of MariaDB software packages with rpm --import from supplychain.mariadb.com

    Installing Packages With the MariaDB Package Repository

    After setting up the MariaDB Package Repository, you can install the software packages in the supported repositories.

    Installing Packages on RHEL and equivalents

    To install MariaDB on Red Hat Enterprise Linux (RHEL) and equivalents, see the instructions at . For example:

    To install MariaDB MaxScale on Red Hat Enterprise Linux (RHEL) and equivalents, see the instructions at . For example:

    Installing Packages on Debian and Ubuntu

    To install MariaDB on Debian and Ubuntu, see the instructions at . For example:

    To install MariaDB MaxScale on Debian and Ubuntu, see the instructions at . For example:

    Installing Packages on SLES

    To install MariaDB on SUSE Linux Enterprise Server (SLES), see the instructions at . For example:

    Versions

    mariadb_es_repo_setup Versions

    Version
    sha256sum

    Set the script to be executable:

    1. Run the script:

    1. Set the script to be executable:

    1. Run the script:

    MariaDB Tools Repository

    On Debian and Ubuntu:

    On RHEL & friends:

    --skip-maxscale

    Skip the 'MaxScale' repository

    --skip-server

    Skip the 'MariaDB Server' repository

    --skip-tools

    Skip the 'Tools' repository

    --skip-verify

    Skip verification of MariaDB Server versions. Use with caution as this can lead to an invalid repository configuration file being created

    --skip-check-installed

    Skip tests for required prerequisites for this script

    --skip-eol-check

    Skip tests for versions being past their EOL date

    --skip-os-eol-check

    Skip tests for operating system versions being past EOL date

    --write-to-stdout

    Write output to stdout instead of to the OS's repository configuration file. This will also skip importing GPG public keys and updating the package cache on platforms where that behavior exists

  • mariadb-11.rolling

  • mariadb-11.rc

  • mariadb-12.1

  • mariadb-12.2

  • mariadb-12.rolling

  • mariadb-12.rc

  • MaxScale 23.02
  • MaxScale 22.08

  • Platform-Specific Behavior on Debian and Ubuntu

    On Debian and Ubuntu, the MariaDB Package Repository setup script performs the following tasks:

    1. Creates a repository configuration file at /etc/apt/sources.list.d/mariadb.list

    2. Creates a package preferences file at /etc/apt/preferences.d/mariadb-enterprise.pref, which gives packages from MariaDB repositories a higher priority than packages from OS and other repositories, which can help avoid conflicts. It looks like the following:

    1. Imports the GPG public key used to verify the signature of MariaDB software package

    2. Updates the package cache with package definitions from the MariaDB Package Repository with apt update

    Platform-Specific Behavior on SLES

    On SUSE Linux Enterprise Server (SLES), the MariaDB Package Repository setup script performs the following tasks:

    1. Creates a repository configuration file at /etc/zypp/repos.d/mariadb.repo

    2. Imports the GPG public key used to verify the signature of MariaDB software packages with rpm --import from supplychain.mariadb.com

    To install MariaDB MaxScale on SUSE Linux Enterprise Server (SLES), see the instructions at MariaDB MaxScale Installation Guide. For example:

    2025-01-07

    b98c6436e01ff33d7e88513edd7b77a965c4500d6d52ee3f106a198a558927af

    2024-11-19

    97e5ef25b4c4a4bd70b30da46b1eae0b57db2f755ef820a28d254e902ab5a879

    2024-11-13

    0c181ada4e7a4cd1d7688435c478893502675b880be2b918af7d998e239eb325

    2024-09-20

    c12da6a9baa57eab7fa685aa24bf76e6929a8c67f4cd244835520c0181007753

    2024-09-09

    733f247c626d965304b678b62a4b86eb4bb8bf956f98a241b6578dedc6ca4020

    2024-06-12

    b96fcd684a84bbe1080b6276f424537fc9d9c11ebe243ad8b9a45dd459f6ee4f

    2023-07-27

    f8eb9c1b59ccfd979d27e39798d2f2a98447dd29e2149ce92bf606aab4493ad9

    2023-03-13

    8dfef0ec98eb03a4455df07b33107a6d4601425c9df0ab5749b8f10bf3abdcbb

    2022-10-26

    3f4a9d1c507a846a598e95d6223871aade69a9955276455324e7cc5f54a87021

    2022-09-12

    713a8f78ea7bab3eccfb46dc14e61cd54c5cf5a08acb5c320ef5370d375e48bd

    2022-06-14

    cfcd35671125d657a212d92b93be7b1f4ad2fda58dfa8b5ab4b601bf3afa4eae

    2022-03-11

    53efddb84ea12efa7d521499a7474065bd4a60c721492d0e72b4336192f4033f

    2021-12-13

    5feb2aac767c512cc9e2af674d1aef42df0b775ba2968fffa8700eb42702bd44

    2021-10-13

    4f266ff758fe15eeb9b8b448a003eb53e93f3064baf1acb789dd39de4f534b1d

    2021-09-14

    b741361ea3a0a9fcaa30888a63ff3a8a4021882f126cf4ef26cf616493a29315

    2021-08-26

    a49347a4e36f99c5b248403ed9fb9b33a2f07f5e24605a694b1b1e24d7199f28

    2021-06-29

    99e768b24ae430b37dec7cb69cdd625396630dba18f5e1588ee24d3d8bb97064

    2021-06-14

    ec08f8ede524f568b3766795ad8ca1a0d0ac4db355a18c3d85681d7f9c0f8c09

    2021-05-04

    bf67a231c477fba0060996a83b197c29617b6193e1167f6f062216ae13c716c7

    2021-03-15

    99c7f4a3473a397d824d5f591274c2a4f5ebf6dc292eea154800bbaca04ddc7e

    2021-02-12

    c78db828709d94876406a0ea346f13fbc38e73996795903f40e3c21385857dd4

    2020-12-16

    c01fa97aed71ca0cd37cba7036ff80ab40efed4cc261c890aa2aa11cd8ab4e2f

    2020-12-15

    e42f1f16f2c78a3de0e73dcc2a9081e2f771b3161f4f4ceecb13ea788d84673b

    2020-12-14

    4aaf495606633a47c55ea602829e67e702aec0a5c6ff6b1af90709c19ee9f322

    2020-10-07

    93fa0df3d6491a791f5d699158dcfe3e6ce20c45ddc2f534ed2f5eac6468ff0a

    2020-09-08

    eeebe9e08dffb8a4e820cc0f673afe437621060129169ea3db0790eb649dbe9b

    2020-07-16

    957bc29576e8fd320fa18e35fa49b5733f3c8eeb4ca06792fb1f05e089c810ff

    mariadb_repo_setup Versions

    Version
    sha256sum

    2025-12-10

    73f4ab14ccc3ceb8c03bb283dd131a3235cfc28086475f43e9291d2060d48c97

    2025-11-18

    7a3e1610fee91347e198214e3672a6d3932ccbbf67905d9e892e9255baaec292

    2025-08-07

    923eea378be2c129adb4d191f01162c1fe5473f1114d7586f096b5f6b9874efe

    2025-02-13

    c4a0f3dade02c51a6a28ca3609a13d7a0f8910cccbb90935a2f218454d3a914a

    2024-11-14

    ceaa5bd124c4d10a892c384e201bb6e0910d370ebce235306d2e4b860ed36560

    --help

    Display a usage message and exit

    --mariadb-server-version=

    Override the default MariaDB Server version. By default, the script will use '11.rolling'

    --mariadb-maxscale-version=

    Override the default MariaDB MaxScale version. By default, the script will use 'latest'

    --os-type=

    Override detection of OS type. Acceptable values include debian, ubuntu, rhel, and sles

    --os-version=

    Override detection of OS version. Acceptable values depend on the OS type you specify

    --skip-key-import

    Skip importing GPG signing keys

    2025-12-10

    62a28aa1f060b4055751d93a88bc11c5556c2b23103c6a6287a8fcb0a4b8a13f

    2025-10-22

    1f584ffd368d18c64b8820bf6cd9b1114dda11a0ecf9524be3c967a3a5be941b

    2025-09-08

    c33b022c2cc325fa50be62eae070ea0bdcaf85367f840accac7acaeea1e8a972

    2025-06-04

    4d483b4df193831a0101d3dfa7fb3e17411dda7fc06c31be4f9e089c325403c0

    2025-01-16

    https://dlm.mariadb.com/enterprise-release-helpers/mariadb_es_repo_setup
    https://r.mariadb.com/downloads/mariadb_repo_setup
    https://mariadb.org/download/?t=repo-config
    Versions
    https://customers.mariadb.com/downloads/token/
    clients and utilities
    client libraries
    plugins
    mariadb-backup
    MariaDB Foundation's Repository Configuration Tool
    MariaDB TX subscription
    MariaDB Repository Configuration Tool
    Installing MariaDB Packages with YUM
    MariaDB MaxScale Installation Guide
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with ZYpp
    MariaDB MaxScale
    curl -LsSO https://dlm.mariadb.com/enterprise-release-helpers/mariadb_es_repo_setup
    echo "${checksum} mariadb_es_repo_setup" | sha256sum -c -
    curl -LsSO https://r.mariadb.com/downloads/mariadb_repo_setup
    echo "${checksum} mariadb_repo_setup" | sha256sum -c -

    99ea6c55dbf32bfc42cdcd05c892aebc5e51b06f4c72ec209031639d6e7db9fe

    chmod +x mariadb_repo_setup
    sudo ./mariadb_repo_setup
    sudo dnf install curl
    sudo apt update
    sudo apt install curl apt-transport-https
    sudo zypper install curl
    curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --help
    curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-11.8"
    curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-maxscale-version="6.1"
    curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=10
    curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --write-to-stdout
    sudo dnf install MariaDB-server MariaDB-client MariaDB-backup
    sudo dnf install maxscale
    sudo apt install mariadb-server mariadb-client mariadb-backup galera-4
    sudo apt install maxscale
    sudo zypper install MariaDB-server MariaDB-client MariaDB-backup
    chmod +x mariadb_es_repo_setup
    sudo ./mariadb_es_repo_setup --token="${token}" --apply
    curl -LsSO https://supplychain.mariadb.com/mariadb-keyring-2025.gpg
    sudo mv mariadb-keyring-2025.gpg /etc/apt/trusted.gpg.d/
    sudo apt update
    sudo rpm --import https://supplychain.mariadb.com/MariaDB-Enterprise-GPG-KEY-2025
    Package: *
    Pin: origin downloads.mariadb.com
    Pin-Priority: 1000
    sudo zypper install maxscale

    2024-08-14

    6083ef1974d11f49d42ae668fb9d513f7dc2c6276ffa47caed488c4b47268593

    2024-05-30

    26e5bf36846003c4fe455713777a4e4a613da0df3b7f74b6dad1cb901f324a84

    2024-02-16

    30d2a05509d1c129dd7dd8430507e6a7729a4854ea10c9dcf6be88964f3fdc25

    2023-11-21

    2d7291993f1b71b5dc84cc1d23a65a5e01e783aa765c2bf5ff4ab62814bb5da1

    2023-08-21

    935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b

    2023-08-14

    f5ba8677ad888cf1562df647d3ee843c8c1529ed63a896bede79d01b2ecc3c1d

    2023-06-09

    3a562a8861fc6362229314772c33c289d9096bafb0865ba4ea108847b78768d2

    2023-02-16

    ad125f01bada12a1ba2f9986a21c59d2cccbe8d584e7f55079ecbeb7f43a4da4

    2022-11-17

    367a80b01083c34899958cdd62525104a3de6069161d309039e84048d89ee98b

    2022-08-22

    733cf126b03f73050e242102592658913d10829a5bf056ab77e7f864b3f8de1f

    2022-08-15

    f99e1d560bd72a3a23f64eaede8982d5494407cafa8f995de45fb9a7274ebc5c

    2022-06-14

    d4e4635eeb79b0e96483bd70703209c63da55a236eadd7397f769ee434d92ca8

    2022-02-08

    b9e90cde27affc2a44f9fc60e302ccfcacf71f4ae02071f30d570e6048c28597

    2022-01-18

    c330d2755e18e48c3bba300a2898b0fc8ad2d3326d50b64e02fe65c67b454599

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

    bootstrapped
    bootstrapped
    Galera
    MariaDB Galera Cluster
    bootstrapped
    Galera
    MariaDB Connector/C
    MariaDB Connector/C
    MariaDB Connector/C
    debugging a problem
    debugging a problem
    in their own repositories
    MariaDB MaxScale Installation & Configuration
    MariaDB MaxScale
    MariaDB 5.1.55
    MariaDB 10.4
    MariaDB 10.8.8
    MariaDB 10.5.9
    MariaDB 10.5