MariaDB 10.11 Installation - Debian 11 (bullseye)

In diesem Artikel wird beschrieben, wie MariaDB 10.11 unter Debian 11 (bullseye) installiert werden kann.


In diesem Artikel wird ein offizieller MariaDB Mirror (mirror.creoline.net) verwendet. https://mirmon.mariadb.org/#de



Vorbereitung

Für die Installation von MariaDB werden zunächst die lokalen Repositorys aktualisiert.


apt-get update && apt-get dist-upgrade



APT-Repository hinzufügen

Die offiziellen Debian Repositories beinhalten aktuell unter Debian 11 das MariaDB-Serverpaket in der Version 10.5. Um die aktuelle Version von MariaDB verwenden zu können, muss ein zusätzliches APT-Repository installiert werden.


# Erstellen einer neuen Source List
echo "deb [arch=amd64] https://mirror.creoline.net/mariadb/repo/10.11/debian bullseye main" | tee /etc/apt/sources.list.d/mariadb.list

# Hinzufügen des öffentlichen Schlüssels
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 F1656F24C74CD1D8

# APT-Repositories aktualisieren
apt-get update


MariaDB 10.11 Server Informationen anzeigen

Bevor die Installation begonnen wird, kann mittels apt info sichergestellt werden, welches Paket tatsächlich installiert werden würde.


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) [...]


Anschließend kann die Installation von dem MariaDB-Server ausgeführt werden:


apt-get install mariadb-server


Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  galera-4 gawk libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl libdaxctl1
  libdbd-mariadb-perl libdbi-perl libencode-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
Vorgeschlagene Pakete:
  gawk-doc libmldbm-perl libnet-daemon-perl libsql-statement-perl libdata-dump-perl
  libipc-sharedcache-perl libwww-perl mailx mariadb-test netcat-openbsd
Die folgenden NEUEN Pakete werden installiert:
  galera-4 gawk libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl libdaxctl1
  libdbd-mariadb-perl libdbi-perl libencode-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 aktualisiert, 38 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 31,3 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 225 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n]


Die Installation kann mit der Taste Enter, J oder Y bestätigt werden.


Nach der Installation kann der automatische Systemd-Status beim Starten des Servers mithilfe von folgendem Befehl überprüft werden:


systemctl is-enabled mariadb
enabled


Mithilfe von systemctl status mariadb kann der aktuelle Dienst-Status ebenfalls dargestellt werden:


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




MariaDB-Server absichern

Nachdem MariaDB erfolgreich installiert wurde, kann mithilfe von mysql_secure_installation der anonyme MySQL Benutzer entfernt werden. Zusätzlich kann die sichere Socket-Authentifizierung aktiviert werden.


mysql_secure_installation


Einstellung Standard Beschreibung
Switch to unix_socket authentication [Y/n] Die Unix Socket Authentication bildet den Unix basierten Login für root@localhost ab.
Change the root password? [Y/n] Änderung des MySQL Root-Benutzer Passwortes
Remove anonymous users? [Y/n] Entfernt alle anonymen Benutzer
Disallow root login remotely? [Y/n] Deaktiviert den Remote-Login als Root-Benutzer. (Remote bedeutet ungleich @localhost | 127.0.0.1)
Remove test database and access to it? [Y/n] Entfernt alle Testdatenbanken und Berechtigungen
Reload privilege tables now? [Y/n] Neuladen aller Berechtigungen




Häufige Probleme bei der MariaDB Installation


Fehlender SSH-Schlüssel für die Repository Signierung

Fehlermeldung: NO_PUBKEY F1656F24C74CD1D8


Vollständige Fehlermeldung:

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

Holen:4 https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye InRelease [4.637 B]
Fehl:4 https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye InRelease
Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel 
nicht verfügbar ist: NO_PUBKEY F1656F24C74CD1D8
Paketlisten werden gelesen… Fertig

W: GPG-Fehler: https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye InRelease: 
Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel 
nicht verfügbar ist: NO_PUBKEY F1656F24C74CD1D8

E: Das Depot »https://mirror.creoline.net/mariadb/repo/10.8/debian bullseye InRelease« ist 
nicht signiert.

N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt 
werden, daher ist es standardmäßig deaktiviert.
N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration 
finden Sie in der Handbuchseite apt-secure(8).


Lösung:

Fügen Sie den öffentlichen Schlüssel zu Ihrem lokalen GPG-Client hinzu.


apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 F1656F24C74CD1D8
gpg: Schlüssel F1656F24C74CD1D8: 
Öffentlicher Schlüssel "MariaDB Signing Key <signing-key@mariadb.org>" importiert

gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
gpg:                              importiert: 1