Projekt Linux-Webserver – Teil 3 – Installation MariaDB und Freigaben

Projekt Linux-Webserver – Teil 3 – Installation MariaDB und Freigaben

16. Juli 2026 | Server, Netzwerk und Hosting | 0 Kommentare

So installierst und konfigurierst du einen MariaDB-Datenbankserver auf Ubuntu Linux. Außerdem richten wir den Zugang für HeidiSQL ein.

In diesem Teil komplettiere ich das Webserver-Projekt um einen MariaDB-Datenbankserver. Wir installieren MariaDB, konfigurieren, legen einen neuen Benutzer für MariaDB an und richten den externen Zugang für HeidiSQL ein.

Dieser Beitrag baut auf Teil 2 – Installation Apache2 Webserver auf.

Warum MariaDB und nicht MySQL?

MariaDB ist ein relationales Datenbanksystem und wurde als Open-Source-Fork von MySQL entwickelt, nachdem Oracle MySQL gekauft hatte. MariaDB ist vollständig kompatibel mit MySQL – alle MySQL-Programme (HeidiSQL, PHPMyAdmin, PHP-Code) funktionieren ohne Änderungen. MariaDB gilt als schneller, offener und Community-freundlicher als MySQL.

Datenbanken sind das Rückgrat moderner Webanwendungen: WordPress speichert Beiträge und Benutzer in MariaDB, Shopsysteme speichern Produkte und Bestellungen, und Web-Apps aller Art benötigen eine Datenbank für persistente Datenhaltung.

MariaDB installieren

Auch MariaDB finden wir im Repository von Ubuntu, so dass wir die Installation mit ein paar Befehlen bewerkstelligen können. Dazu geben wir nachfolgenden Befehl in das Terminal ein.

sudo apt install -y mariadb-server mariadb-client

Folgende Pakete werden damit installiert:

Befehl / OptionBedeutung
mariadb-serverDer eigentliche Datenbankserver-Daemon. Nimmt Verbindungen an und bearbeitet SQL-Abfragen.
mariadb-clientKommandozeilen-Client zum Verbinden mit dem Datenbankserver. Befehl: mysql -u root -p

MariaDB Installation absichern:

Nach der Installation ist MariaDB mit unsicheren Standardeinstellungen konfiguriert: anonyme Benutzer, kein Root-Passwort, eine Test-Datenbank. Das Sicherheitsskript behebt diese Schwachstellen. Darum führen wir einmal das Sicherheitsskript mit nachfolgendem Befehl aus und beantworten die Fragen.

sudo mysql_secure_installation

Das Skript stellt interaktiv folgende Fragen – hier die empfohlenen Antworten:

Befehl / OptionBedeutung
Enter current password for root:Einfach Enter drücken. Der Benutzer Root hat noch kein Passwort.
Switch to unix_socket authentication? [Y/n]Y eingeben. Die Root-Anmeldung wird an den Linux-Benutzer ‚root‘ gebunden – sicherer als Passwort.
Change the root password? [Y/n]Y – ein starkes Passwort setzen und gut merken!
Remove anonymous users? [Y/n]Y – anonyme Benutzer ohne Passwort entfernen.
Disallow root login remotely? [Y/n]Y – Root darf sich nur lokal anmelden, nie per Netzwerk.
Remove test database and access to it? [Y/n]Y – Test-Datenbank entfernen.
Reload privilege tables now? [Y/n]Y – Änderungen sofort wirksam machen.

Warum unix_socket-Authentifizierung?

Mit unix_socket meldet sich root automatisch an, wenn der Linux-Benutzer ‚root‘ angemeldet ist.

Das bedeutet: 'sudo mysql‘ funktioniert ohne Passwort, ein Angreifer ohne root-Rechte kann sich aber trotzdem nicht einloggen. Für PHP‑Verbindungen werden eigene Benutzer angelegt.

In MariaDB einloggen und Benutzer anlegen

Jetzt loggen wir uns das erste Mal in MariaDB ein und legen uns einen eigenen Benutzer an. Wir benötigen einen Benutzer für die Webprojekte, der auch gleichzeitig Zugriff von außerhalb von localhost hat.

Wenn du vorhin bei der Einrichtung von MariaDB die Frage mit Unix-Socketauthentifikation mit Y bestätigt hast, kannst du auch das -p weglassen, da der MariaDB Nutzer root mit dem Systembenutzer von deinem Ubuntu-Server verknüpft ist.

sudo mysql -u root -p

Jetzt befinden wir uns in dem Kommandozeilen-Client von MariaDB bzw. MySQL. Hierüber können wir jetzt SQL-Anweisungen ausführen.

Mit den folgenden Anweisungen legen wir einen neuen Benutzer an, geben ihm alle Rechte und laden alle Benutzerrechte neu, damit die Änderungen sofort wirksam werden.
Die beiden Platzhalter NEUER_USER und PASSWORT musst du natürlich durch deinen gewünschten Benutzernamen und dein Passwort ersetzen.

create user 'NEUER_USER'@'%' identified by 'PASSWORT';
grant all privileges on *.* to 'NEUER_USER'@'%' with grant option;
flush privileges;

Die MySQL-Befehle haben folgende Bedeutung:

Befehl / OptionBedeutung
CREATE USERLegt einen neuen Benutzer für MariaDB an.
‚user'@'localhost‘Benutzername@Hostname. ’localhost‘ beschränkt den Login auf den Server selbst. ‚%‘ würde alle Hosts erlauben.
IDENTIFIED BYSetzt das Passwort für den Datenbankbenutzer. Niemals dasselbe Passwort wie für den Linux-Benutzer!
GRANT ALL PRIVILEGES ON *.*Gibt alle Rechte (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP etc.) auf alle Tabellen für alle Datenbanken (*.*).
FLUSH PRIVILEGESLädt die Berechtigungstabellen neu. Nötig, damit GRANT/REVOKE‑Änderungen sofort wirken.

Als Letztes müssen wir den MariaDB-Clienten wieder verlassen. Dazu geben wir einfach „exit“ ein.

exit

Zum Schluss starten wir den MariaDB-Dienst einmal neu.

sudo systemctl restart mysql.service

MariaDB für externe Verbindung konfigurieren

Um über einen externen grafischen Datenbank-Clienten wie z. B. HeidiSQL auf die Datenbank zugreifen zu können, müssen wir MariaDB für externe Netzwerkverbindungen öffnen.

Standardmäßig hört MariaDB nur auf 127.0.0.1 (localhost). Für HeidiSQL-Zugriff vom einem Windows-PC muss das geändert werden. Dazu rufen wir die Konfigurationsdatei von MariaDB mit dem Editor Nano.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Hier suchst du im Abschnitt [mysqld] nach dem Eintrag „bind-address = 127.0.0.1“ und änderst die Adresse auf 0.0.0.0 ab.

[mysqld]
 
# Standard: Nur lokale Verbindungen erlaubt
# bind-address = 127.0.0.1
 
# Geaendert: Verbindungen von allen Interfaces erlauben
bind-address = 0.0.0.0

Zum Schluss den MariaDB-Dienst neu starten, damit die geänderte Konfiguration wirksam wird.

sudo systemctl restart mysql.service

Was ist HeidiSQL?

HeidiSQL ist ein kostenloser, grafischer Datenbank-Client für Windows/Mac/Linux. Er ermöglicht das komfortable Verwalten von Datenbanken, Tabellen und Daten ohne SQL-Kenntnisse – ähnlich wie phpMyAdmin, aber als native Windows-Anwendung und oft komfortabler. Hier kannst du dir HeidiSQL herunterladen.

Jetzt testen wir einmal mit HeidiSQL, ob der Zugriff funktioniert und wir eine Verbindung zu MariaDB aufbauen können.

HeidiSQL Anmeldung an MariaDB-Server

Abschluss MariaDB

Damit sind wir jetzt am Ende der Anleitung für den Teil „Installation des MariaDB“. Wir haben den Datenbankserver MariaDB installiert, konfiguriert und für den Zugang von HeidiSQL geöffnet. Im nächsten Teil geht es um den kniffligsten Teil des Projektes, die Verwendung mehrerer PHP- Versionen.

Weiter geht's mit Teil 4 – Installation mehrere PHP-Versionen.

Wie hat dir dieser Beitrag gefallen?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Hier schreibt: Thomas

Hier schreibt: Thomas

Ich heiße Thomas und bin Inhaber einer Agentur für eCommerce und Online Marketing. Zusätzlich interessiere ich mich für CMS Systeme, Wordpress, Drupal, Grafik und Multimedia. Ihr findet mich auf Twitter und Facebook. Über einen Kommentar zu diesem Beitrag würde ich mich freuen.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Blog via E-Mail abonnieren

Gib Deine E-Mail-Adresse an, um diesen Blog zu abonnieren und Benachrichtigungen über neue Beiträge via E-Mail zu erhalten.

Schließe dich 2.594 anderen Abonnenten an

In eigener Sache

Mit einem Stern (*) markierten Links sind Affiliate-Links. Wenn du einen Kauf über diese Links tätigst, bekomme ich eine Provision und du unterstützt aktiv diesen Blog. Für dich ändert sich der Preis nicht.

Wichtig: Ich empfehle nur Produkte, die ich selbst verwende und/oder von denen ich überzeugt bin. Vielen Dank für deine Unterstützung!