In diesem Artikel zeige ich Schritt für Schritt, wie man MariaDB 11.8 auf Ubuntu 24.04 (noble) installiert – ohne Root-Passwort, sondern mit dem sicheren Unix-Socket-Login über sudo.
Ziel der Installation
- MariaDB 11.8 aus dem offiziellen MariaDB-Repository mit der Unterstützung für den Datentyp VECTOR um Embeddings zu speichern
- Kein Root-Passwort notwendig
- Systemd-Service aktiv
- Saubere Repository-Einbindung (Keyring, kein apt-key)
- Warnungen bzgl.
i386vermeiden - Bereit für Entwicklung (Datenbank + Benutzer)
Vorbereitung: Repository-Management installieren
Bevor man ein externes Repository einbinden kann, muss sichergestellt werden, dass alle nötigen Werkzeuge installiert sind.
sudo apt update
sudo apt install apt-transport-https curl gnupg software-properties-common -y
Erklärung
apt-transport-https
Erlaubtapt, Paketquellen über HTTPS zu nutzen (Pflicht für moderne Repos).curl/wget
Werden benötigt, um den MariaDB-Signaturschlüssel herunterzuladen.gnupg
Dient zum Verifizieren signierter Pakete – ohne GPG kein sicheres Repository.software-properties-common
Liefert Hilfswerkzeuge für das Verwalten zusätzlicher Paketquellen.
Ohne diese Pakete schlägt die Repository-Einbindung später still oder mit kryptischen Fehlern fehl.
MariaDB Signing Key importieren
MariaDB signiert seine Pakete. Der Schlüssel wird nicht global, sondern nur repository-spezifisch installiert – so wie es Best Practice ist.
wget -O- https://mariadb.org/mariadb_release_signing_key.asc \
| sudo gpg --dearmor -o /usr/share/keyrings/mariadb-keyring.gpg
Erklärung
wget -O-
Lädt die Datei und schreibt sie direkt nach STDOUTgpg --dearmor
Konvertiert den ASCII-Key in ein binäres.gpg-Format/usr/share/keyrings/
Der empfohlene Ort für Repository-spezifische Schlüssel
Vorteil: Der Schlüssel gilt nur für dieses Repo, nicht für das ganze System.
Keyring überprüfen
Mit dem folgenden Befehl kann man prüfen, ob die pgp Datei ein OpenPGP Public Key ist.
file /usr/share/keyrings/mariadb-keyring.gpg
Ausgabe:
OpenPGP Public Key Version 4, RSA (4096 bits)
So stellt man sicher, dass die Datei existiert, es kein HTML-Fehler oder Redirect ist und wirklich eine gültiger PGP-Key vorliegt. Vor allem in automatisierten Setups spart das später Zeit bei der Suche nach Fehlern.
MariaDB Repository hinzufügen
Jetzt wir das offizielle MariaDB-Repository für Version 11.8 eingebunden.
echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.gpg] \
https://mirror.mariadb.org/repo/11.8/ubuntu noble main" \
| sudo tee /etc/apt/sources.list.d/mariadb.list
Erklärung
signed-by=
Erzwingt die Nutzung dieses Keyringsnoble
Ubuntu 24.04 Codenamemain
Standard-Paketbereich
Das Repo ist jetzt aktiv, aber noch nicht eingelesen.
Repository-Datei prüfen
cat /etc/apt/sources.list.d/mariadb.list
Achtung:
Wenn hier versehentlich eine andere Version (z. B. 11.4) steht, wird nicht MariaDB 11.8 installiert.
Paketindex aktualisieren – und i386-Warnung verstehen
sudo apt update
Bekommt man beim update die folgende Warnung, kann man sie getrost ignorieren.
N: Das Laden der konfigurierten Datei »main/binary-i386/Packages« wird übersprungen
Was passiert hier?
- Dein System fragt auch nach
i386 - MariaDB liefert für
noblenur amd64 und arm64 - Ergebnis: harmlose, aber nervige Warnung
Um die Warnung zu beheben kann man das Repository explizit auf amd64 begrenzen, indem man arch=amd64 ergänzt.
deb [arch=amd64 signed-by=/usr/share/keyrings/mariadb-keyring.gpg] \
https://mirror.mariadb.org/repo/11.8/ubuntu noble main
Danach:
sudo apt update
Keine Warnung mehr, saubere Paketliste.
MariaDB installieren
Nun kann endlich MariaDB installiert werden.
sudo apt install mariadb-server mariadb-client -y
PS: Wer nicht unbedingt eine spezifische Version benötig, um z.B. den Datentyp VECTOR nutzen zu können, kann auch einfach direkt den hier gezeigten Befehl eingeben. Dann wird die MariaDB Version installiert, die in dem Ubuntu System standardmäßig installiert wird.
Was wird installiert?
mariadb-server- Datenbankserver (
mariadbd) - Systemd-Service
- Standardkonfiguration
- Datenbankserver (
mariadb-client- CLI-Tool (
mariadb) - Für lokale und Remote-Verbindungen
- CLI-Tool (
Kein Root-Passwort-Dialog – Ubuntu nutzt Unix-Socket-Auth.
MariaDB Service prüfen
Nun kann man prüfen, ob der Service läuft oder ob etwas bei der Installation nicht funktioniert hat.
sudo systemctl status mariadb
Wichtige Punkte:
Active: active (running)ready for connections- Port
3306 - Version
11.8.x
Wenn der Service läuft, ist die Installation abgeschlossen.
Login als MariaDB-Root
Nun kann man sich mit dem folgenden Befehl in dem DBMS einloggen. Bei der Passwort Abfrage kann man einfach ENTER drücken und muss nichts eingeben.
sudo mariadb -u root -p
Datenbank und Benutzer anlegen
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Logs analysieren
Wenn wirklich etwas nicht funktioniert hat, kann man mit dem Befehl journalctl die Log-Ausgaben checken und evtl. Hinweise darauf finden was nicht funktioniert hat. Damit ist journalctl die erste Anlaufstelle bei Problemen.
sudo journalctl -u mariadb.service
Warum journalctl?
- Systemd-Services loggen nicht mehr in
/var/log/mysql/*.log - Hier findet man:
- Startfehler
- Portkonflikte
- Plugin-Probleme
- Berechtigungsfehler
Verbindung mit MariaDB über DBeaver herstellen
DBeaver ist für viele Entwickler das Standard-Tool, um lokal und remote mit Datenbanken zu arbeiten. Nach der Installation von MariaDB 11.8 ist die Anbindung trivial – wenn man weiß, welche Felder wirklich relevant sind.
DBeaver starten
Database → New Database Connection
MariaDB auswählen
Falls der Treiber noch nicht installiert ist, lädt DBeaver ihn automatisch herunter (JDBC)
- Connect by: Host
(URL ist optional – Host ist übersichtlicher und weniger fehleranfällig)
Server Host = localhost
- MariaDB läuft lokal
- Entspricht
127.0.0.1 - Muss mit dem Eintrag
user@localhostin MariaDB übereinstimmen - Port 3306 ist Standardport von MariaDB
- Nur ändern, wenn man ihn in
my.cnfangepasst hast - Database kann leer bleiben
- Alternativ direkt:
myapp_production- Wenn leer zeigt DBeaver alle Datenbanken an, für die der User Rechte hat
Authentication (Database Native)
Username = user
- Der zuvor angelegte MariaDB-Benutzer
- Nicht
rootverwenden (auch lokal keine gute Idee)
Password = password
- Passwort aus
CREATE USER - Kann sicher im DBeaver-Keyring gespeichert werden
JDBC-URL (automatisch generiert)
DBeaver zeigt nun den JDBC URL: jdbc:mariadb://localhost:3306/
Verbindung testen
Unten links auf den Test Connection… Button klicken.
Erwartetes Ergebnis:
- Verbindung erfolgreich
- Optional: Warnung zu Zeitzone → kann ignoriert oder später konfiguriert werden
Wenn der Test fehlschlägt, sind die häufigsten Ursachen:
| Problem | Ursache |
|---|---|
| Connection refused | MariaDB läuft nicht |
| Access denied | Benutzer / Passwort falsch |
| Host not allowed | User nicht als @localhost angelegt |
| Port unreachable | Falscher Port |
Wenn alles eingetragen ist sollte es in etwa so aussehen:

Verbindung abschließen
Mit Finish kann man die Einrichtung in DBeaver abschließen.
Danach sieht man im linken DBeaver-Navigator:
- Datenbank(en)
- Tabellen
- Views
- Stored Procedures
- Benutzerrechte
Das wars, MariaDB ist installiert und in DBeaver eingerichtet.
Wenn man nun ein SQL Fenster öffnet und „SELECT VERSION();“ eingibt, sollte man den Text „11.8.5-MariaDB-ubu2404“ sehen.

