MariaDB 10.11 Installation - Debian 12 (bookworm)
This article describes how to install MariaDB 10.11 under Debian 12 (bookworm).
This article uses an official MariaDB mirror (mirror.creoline.net). https://mirmon.mariadb.org/#de
Preparation
To install MariaDB, the local repositories are first updated.
apt-get update && apt-get dist-upgrade
Add APT repository
The official Debian repositories currently contain the MariaDB server package in version 10.5
under Debian 11. In order to use the current version of MariaDB, an additional APT repository must be installed.
# Create a new source list
echo "deb [arch=amd64] https://mirror.creoline.net/mariadb/repo/10.11/debian bookworm main" | tee /etc/apt/sources.list.d/mariadb.list
# Add the public key
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 F1656F24C74CD1D8
# Update APT repositories
apt-get update
Show MariaDB 10.11 server information
Before starting the installation, you can use apt info
to check which package will actually be installed.
apt info mariadb-server
Package: mariadb-server
Version: 1:10.11.1+maria~deb11 <-------
Priority: optional
Section: database
Source: mariadb-10.11
Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
Installed-Size: 10,2 kB
Depends: mariadb-server-10.8 (>= 1:10.8.4+maria~deb11)
Homepage: https://mariadb.org/
Download-Size: 2.832 B
APT-Sources: https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye/main amd64 Packages
Description: MariaDB database server (metapackage depending on the latest version) [...]
The installation of the MariaDB server can then be executed:
apt-get install mariadb-server
Package lists are read... Done
Dependency tree is built... Done
Status information is read in... Done
The following additional packages are installed:
galera-4 gawk libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl libdaxctl1
libdbd-mariadb-perl libdbi-perl libdbi-perl libfcgi-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl
libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl
libio-html-perl liblwp-mediatypes-perl libmariadb3 libmpfr6 libndctl6 libpmem1 libsigsegv2
libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client-10.8 mariadb-client-core-10.8
mariadb-common mariadb-server-10.8 mariadb-server-core-10.8 mysql-common psmisc rsync socat
Suggested packages:
gawk-doc libmldbm-perl libnet-daemon-perl libsql-statement-perl libdata-dump-perl
libipc-sharedcache-perl libwww-perl mailx mariadb-test netcat-openbsd
The following NEW packages are installed:
galera-4 gawk libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl libdaxctl1
libdbd-mariadb-perl libdbi-perl libdbi-perl libfcgi-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl
libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl
libio-html-perl liblwp-mediatypes-perl libmariadb3 libmpfr6 libndctl6 libpmem1 libsigsegv2
libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client-10.8 mariadb-client-core-10.8
mariadb-common mariadb-server mariadb-server-10.8 mariadb-server-core-10.8 mysql-common psmisc rsync
socat
0 updated, 38 reinstalled, 0 to be removed and 0 not updated.
31.3 MB of archives must be downloaded.
After this operation, an additional 225 MB of disk space will be used.
Would you like to continue? [Y/n]
The installation can be confirmed with the Enter
, Y
or Y
button.
After installation, the automatic systemd status can be checked when the server is started using the following command:
systemctl is-enabled mariadb
enabled
The current service status can also be displayed using systemctl status mariadb
:
root@db02:/# systemctl status mariadb
● mariadb.service - MariaDB 10.11.1 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running) since Thu 2022-09-01 13:24:05 CEST; 3min 8s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 3280 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 3281 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 3283 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [>
Process: 3329 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 3331 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Main PID: 3312 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 9 (limit: 4678)
Memory: 207.7M
CPU: 514ms
CGroup: /system.slice/mariadb.service
└─3312 /usr/sbin/mariadbd
Secure MariaDB server
After MariaDB has been successfully installed, the anonymous MySQL user can be removed using mysql_secure_installation
. In addition, secure socket authentication can be activated.
mysql_secure_installation
Setting | Default | Description |
---|---|---|
Switch to unix_socket authentication | [Y/n] | Unix Socket Authentication maps the Unix-based login for root@localhost. |
Change the root password? | [Y/n] | Change the MySQL root user password |
Remove anonymous users? | [Y/n] | Remove all anonymous users |
Disallow root login remotely? | [Y/n] | Disables the remote login as root user. (Remote means not equal to @localhost | 127.0.0.1) |
Remove test database and access to it? | [Y/n] | Remove all test databases and privileges |
Reload privilege tables now? | [Y/n] | Reload all privileges |
Common problems with the MariaDB installation
Missing SSH key for repository signing
Error message: NO_PUBKEY F1656F24C74CD1D8
Complete error message:
root@mariadb:/etc/apt/sources.list.d# apt update
OK:1 https://mirror.creoline.net/debian bullseye InRelease
OK:2 https://mirror.creoline.net/debian-security bullseye-security InRelease
OK:3 https://mirror.creoline.net/debian bullseye-updates InRelease
Get:4 https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye InRelease [4.637 B]
Failed:4 https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye InRelease
The following signatures could not be verified because their public key
is not available: NO_PUBKEY F1656F24C74CD1D8
Package lists are being read... Done
W: GPG error: https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye InRelease:
The following signatures could not be verified because their public key
is not available: NO_PUBKEY F1656F24C74CD1D8
E: The depot "https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye InRelease" is
not signed.
N: An update of such a depot cannot be carried out in a secure way, so it is deactivated by default.
therefore it is deactivated by default.
N: Further details on the creation of package repositories and their user configuration
can be found in the manual page apt-secure(8).
Solution:
Add the public key to your local GPG client.
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 F1656F24C74CD1D8
gpg: Key F1656F24C74CD1D8:
Public key "MariaDB Signing Key <signing-key@mariadb.org>" imported
gpg: Total number of keys processed: 1
gpg: imported: 1