Überspringen und zum Inhalt gehen →

MariaDB 11.8 auf Ubuntu Entwickler PC installieren – ohne Root-Passwort

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. i386 vermeiden
  • 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
    Erlaubt apt, 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 STDOUT
  • gpg --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 Keyrings
  • noble
    Ubuntu 24.04 Codename
  • main
    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 noble nur 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
  • mariadb-client
    • CLI-Tool (mariadb)
    • Für lokale und Remote-Verbindungen

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@localhost in MariaDB übereinstimmen
  • Port 3306 ist Standardport von MariaDB
  • Nur ändern, wenn man ihn in my.cnf angepasst 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 root verwenden (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:

ProblemUrsache
Connection refusedMariaDB läuft nicht
Access deniedBenutzer / Passwort falsch
Host not allowedUser nicht als @localhost angelegt
Port unreachableFalscher 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.

Veröffentlicht in Allgemein