- 1 Schnellste Methode, MariaDB auf Ubuntu zu installieren (20.04 / 22.04 / 24.04 unterstützt)
- 1.1 ① Paketinformationen aktualisieren
- 1.2 ② MariaDB installieren
- 1.3 ③ Überprüfen, ob MariaDB läuft
- 1.4 ④ Autostart aktivieren (normalerweise nicht nötig, aber zur Bestätigung empfohlen)
- 1.5 ⑤ Mit MariaDB verbinden und Betrieb prüfen
- 1.6 Obligatorische Sicherheitsinitialisierung nach der Installation
- 1.7 MariaDB‑Version, die von der Ubuntu‑Version bereitgestellt wird
- 1.8 Schnell‑Checks, falls die Installation fehlschlägt oder der Dienst nicht startet
- 2 Die richtige MariaDB‑Version für Ihre Ubuntu‑Version wählen
- 3 Wenn Sie die neueste Version benötigen (offizielles MariaDB‑Repository hinzufügen)
- 4 Wie man die aktuell installierte MariaDB-Version überprüft
- 5 Vollständige Anleitung zur ersten MariaDB-Sicherheitskonfiguration (mysql_secure_installation)
- 6 Warum Sie sich nicht als root anmelden können (Zugriff verweigert-Fehler)
- 7 Wie man root auf Passwortauthentifizierung umstellt (nur falls nötig)
- 8 Wie man die aktuelle Authentifizierungsmethode überprüft
- 9 Häufige Fehler und Lösungen
- 10 Zeichencodierung auf utf8mb4 setzen (verhindert fehlerhafte Zeichen)
- 11 utf8mb4 beim Erstellen einer Datenbank angeben (empfohlen)
- 12 Einen Anwendungsbenutzer erstellen und Berechtigungen gewähren
- 13 Einen Remote‑Zugriffsbenutzer erstellen (nur falls nötig)
- 14 Wie man aktuelle Benutzer und Berechtigungen überprüft
- 15 Häufige Berechtigungsfehler und Lösungen
- 16 Wie man Remote‑Verbindungen in MariaDB erlaubt (Behebung bei fehlgeschlagener externer Verbindung)
- 17 Checkliste, wenn Sie nicht extern verbinden können
- 18 Wichtige Sicherheitshinweise
- 19 Fehlerbehebung, wenn MariaDB nicht startet (Fehler beim Starten)
- 20 Zusammenfassung der Ursachen für Zugriff verweigert‑Fehler
- 21 Grundlegende Leistungsverbesserungen (für Anfänger)
- 22 Frequently Asked Questions (FAQ)
- 23 Conclusion: Using MariaDB Safely on Ubuntu
Schnellste Methode, MariaDB auf Ubuntu zu installieren (20.04 / 22.04 / 24.04 unterstützt)
Wenn Sie MariaDB auf Ubuntu sofort nutzen möchten, folgen Sie einfach den nachstehenden Schritten, um die Installation abzuschließen und den Start zu überprüfen. Sofern Sie keinen besonderen Grund haben, ist die Installation aus dem Ubuntu‑Standard‑Repository die sicherste und stabilste Option.
① Paketinformationen aktualisieren
sudo apt update
sudo apt upgrade -y
② MariaDB installieren
sudo apt install -y mariadb-server mariadb-client
Keine spezielle Konfiguration ist während der Installation erforderlich. Nach Abschluss wird der MariaDB‑Dienst automatisch gestartet.
③ Überprüfen, ob MariaDB läuft
sudo systemctl status mariadb
Wenn active (running) angezeigt wird, läuft MariaDB ordnungsgemäß.
④ Autostart aktivieren (normalerweise nicht nötig, aber zur Bestätigung empfohlen)
sudo systemctl enable mariadb
⑤ Mit MariaDB verbinden und Betrieb prüfen
sudo mysql
Wenn Sie die folgende Eingabeaufforderung sehen, war die Installation erfolgreich:
MariaDB [(none)]>
Zum Beenden tippen Sie exit;.
Obligatorische Sicherheitsinitialisierung nach der Installation
Unmittelbar nach der Installation hat MariaDB nur minimale Sicherheitseinstellungen. Führen Sie unbedingt den folgenden Befehl aus:
sudo mysql_secure_installation
Im Allgemeinen werden die folgenden Antworten empfohlen:
- Anonyme Benutzer entfernen → Y
- Remote‑Login für root verbieten → Y
- Testdatenbank entfernen → Y
- Privilegientabellen neu laden → Y
Damit ist die Einrichtung einer sicheren MariaDB‑Umgebung auf Ubuntu abgeschlossen.
MariaDB‑Version, die von der Ubuntu‑Version bereitgestellt wird
- Ubuntu 20.04 → MariaDB‑Serie 10.3
- Ubuntu 22.04 → MariaDB‑Serie 10.6
- Ubuntu 24.04 → MariaDB‑Serie 10.11 (LTS)
Für die meisten Benutzer ist die Ubuntu‑Standardversion ausreichend. Ziehen Sie das offizielle Repository nur in Betracht, wenn Sie die neuesten Funktionen benötigen.
Schnell‑Checks, falls die Installation fehlschlägt oder der Dienst nicht startet
- Fehler prüfen mit
sudo systemctl status mariadb - Detaillierte Logs prüfen mit
sudo journalctl -xe - Festplattenspeicher prüfen mit
df -h
In den meisten Fällen liegt das Problem entweder an zu wenig Festplattenspeicher oder an einem Tippfehler in einer Konfigurationsdatei.
Die richtige MariaDB‑Version für Ihre Ubuntu‑Version wählen
Bei der Nutzung von MariaDB auf Ubuntu ist in den meisten Fällen die Version aus dem Standard‑Repository die sicherste Wahl. Sicherheitsupdates und Abhängigkeits‑Kompatibilität werden automatisch gepflegt, was sie ideal für Einsteiger und fortgeschrittene Nutzer macht.
Ubuntu‑Standard‑Repository‑Version (empfohlen)
- Ubuntu 20.04 → MariaDB‑Serie 10.3
- Ubuntu 22.04 → MariaDB‑Serie 10.6
- Ubuntu 24.04 → MariaDB‑Serie 10.11 (LTS)
Sofern Sie keinen konkreten Bedarf haben, sind diese Versionen voll praktisch für den Produktionseinsatz.
Wenn Sie die neueste Version benötigen (offizielles MariaDB‑Repository hinzufügen)
Falls Sie die neuesten Features benötigen, können Sie das offizielle MariaDB‑Repository hinzufügen. Da apt‑key veraltet ist, wird hier die „signed‑by“-Methode verwendet.
① GPG‑Schlüssel speichern
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://mariadb.org/mariadb_release_signing_key.asc \
| sudo gpg --dearmor -o /etc/apt/keyrings/mariadb.gpg
② Ihren Ubuntu‑Codename prüfen
lsb_release -cs
Beispiele:
- 20.04 →
focal - 22.04 →
jammy - 24.04 →
noble
③ Offizielles Repository hinzufügen (Beispiel: Serie 10.11)
echo "deb [signed-by=/etc/apt/keyrings/mariadb.gpg] \
https://mirror.mariadb.org/repo/10.11/ubuntu \
$(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/mariadb.list
④ Pakete aktualisieren und installieren
sudo apt update
sudo apt install mariadb-server mariadb-client
Hinweise bei Verwendung des offiziellen Repositories
- Sie können neuere Features nutzen als mit der Ubuntu‑Standardversion
- Es besteht ein zukünftiges Risiko von Abhängigkeitskonflikten
- Für Produktionsserver ist gründliches Testen erforderlich
Für den Produktionseinsatz sollten Sie klar entscheiden, ob Sie Stabilität oder die neuesten Features priorisieren.
Wie man die aktuell installierte MariaDB-Version überprüft
mysql --version
Beispiel:
mysql Ver 15.1 Distrib 10.6.16-MariaDB
Durch die explizite Bestätigung der Version werden Fehlersuche und Migrationsarbeiten deutlich einfacher.
Vollständige Anleitung zur ersten MariaDB-Sicherheitskonfiguration (mysql_secure_installation)
Direkt nach der Installation von MariaDB werden nur minimale Sicherheitseinstellungen vorgenommen. Um sicher zu arbeiten, führen Sie unbedingt den folgenden Befehl aus:
sudo mysql_secure_installation
Bei der Ausführung erscheinen mehrere Eingabeaufforderungen. In den meisten Fällen werden die folgenden Antworten empfohlen.
Empfohlene Antworten
- Enter current password for root: → Drücken Sie die Eingabetaste (bei der ersten Ausführung nicht gesetzt)
- Switch to unix_socket authentication? → Y (Empfohlen unter Ubuntu)
- Change the root password? → N (Wenn unix_socket-Authentifizierung verwendet wird)
- Remove anonymous users? → Y
- Disallow root login remotely? → Y
- Remove test database and access to it? → Y
- Reload privilege tables now? → Y
Damit ist die grundlegende Sicherheitskonfiguration abgeschlossen.
Warum Sie sich nicht als root anmelden können (Zugriff verweigert-Fehler)
Unter Ubuntu verwendet der root-Benutzer standardmäßig unix_socket-Authentifizierung. Daher funktioniert die herkömmliche passwortbasierte Anmeldung nicht.
Beispielsymptom
mysql -u root -p
→ Access denied for user 'root'@'localhost'
Korrekte Anmeldemethode (Ubuntu-Standard)
sudo mysql
Dies ist die sicherste und empfohlene Methode.
Wie man root auf Passwortauthentifizierung umstellt (nur falls nötig)
Ändern Sie die Authentifizierungsmethode nur, wenn Sie sich als root von externen Tools oder Anwendungen verbinden müssen.
① Verbindung zu MariaDB herstellen
sudo mysql
② Authentifizierungs-Plugin ändern
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'StrongPasswordHere';
FLUSH PRIVILEGES;
③ Änderung bestätigen
SELECT user, host, plugin FROM mysql.user;
Wenn mysql_native_password angezeigt wird, war die Änderung erfolgreich.
Wie man die aktuelle Authentifizierungsmethode überprüft
sudo mysql -e "SELECT user, host, plugin FROM mysql.user;"
Hauptauthentifizierungsmethoden:
- unix_socket → Ubuntu-Standard, sicher
- mysql_native_password → Passwortbasierte Authentifizierung
Sofern kein spezieller Grund vorliegt, ist es am sichersten, root die unix_socket-Authentifizierung beizubehalten.
Häufige Fehler und Lösungen
FEHLER 1698 (28000): Zugriff verweigert für Benutzer ‚root’@’localhost‘
- Ursache: Versuch einer passwortbasierten Anmeldung
- Lösung: Anmeldung mit
sudo mysql
mysql_secure_installation nicht gefunden
- Überprüfen Sie mit
which mysql_secure_installation - Wenn nicht installiert, führen Sie
sudo apt install mariadb-serveraus
Zeichencodierung auf utf8mb4 setzen (verhindert fehlerhafte Zeichen)
Um mehrsprachigen Text und Emojis in MariaDB sicher zu verarbeiten, wird empfohlen, utf8mb4 zu verwenden. Ohne diese Einstellung können Codierungsprobleme oder Datenverlust auftreten.
① Konfigurationsdatei bearbeiten
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Fügen Sie die folgenden Zeilen im Abschnitt [mysqld] hinzu oder ändern Sie sie:
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
② MariaDB neu starten
sudo systemctl restart mariadb
③ Einstellungen überprüfen
sudo mysql -e "SHOW VARIABLES LIKE 'character_set%';"
Wenn utf8mb4 angezeigt wird, war die Konfiguration erfolgreich.
utf8mb4 beim Erstellen einer Datenbank angeben (empfohlen)
Wenn Sie den Zeichensatz unabhängig von globalen Einstellungen explizit festlegen möchten, geben Sie ihn beim Erstellen der Datenbank an.
CREATE DATABASE sample_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
Alle in dieser Datenbank erstellten Tabellen erben utf8mb4.
Einen Anwendungsbenutzer erstellen und Berechtigungen gewähren
In Produktionsumgebungen verwenden Sie niemals den root-Benutzer für Anwendungsverbindungen. Erstellen Sie einen dedizierten Benutzer und gewähren Sie nur die minimal erforderlichen Rechte.
① Bei MariaDB anmelden
sudo mysql
② Einen Benutzer erstellen (lokale Verbindung)
CREATE USER 'app_user'@'localhost'
IDENTIFIED BY 'StrongPasswordHere';
③ Datenbankberechtigungen gewähren
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
Einen Remote‑Zugriffsbenutzer erstellen (nur falls nötig)
Konfigurieren Sie dies nur, wenn Sie sich von einem externen Server oder einer Cloud‑Umgebung aus verbinden müssen.
CREATE USER 'app_user'@'%'
IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'%';
FLUSH PRIVILEGES;
Hinweis: Der Platzhalter “%” erlaubt Verbindungen von jedem Host. In Produktionsumgebungen ist die Angabe einer konkreten IP‑Adresse sicherer.
Wie man aktuelle Benutzer und Berechtigungen überprüft
SELECT user, host FROM mysql.user;
SHOW GRANTS FOR 'app_user'@'localhost';
Häufige Berechtigungsfehler und Lösungen
Zugriff verweigert für Benutzer ‚app_user‘
- Falsche Host‑Angabe (Unterschied zwischen localhost und %)
- FLUSH PRIVILEGES wurde nicht ausgeführt
- Falscher Datenbankname bei der Verbindung
Unbekannte Datenbank
- Tippfehler im Datenbanknamen
- Keine Berechtigungen für die Ziel‑Datenbank vergeben
Wie man Remote‑Verbindungen in MariaDB erlaubt (Behebung bei fehlgeschlagener externer Verbindung)
Standardmäßig erlaubt MariaDB nur lokale Verbindungen. Wenn Sie sich von einem externen Server oder einer Cloud‑Umgebung aus verbinden müssen, konfigurieren Sie die folgenden Einstellungen.
① Bind‑Address ändern
Bearbeiten Sie die Konfigurationsdatei:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Suchen Sie die folgende Zeile:
bind-address = 127.0.0.1
Um externe Verbindungen zu erlauben, ändern Sie sie zu:
bind-address = 0.0.0.0
Nach dem Speichern MariaDB neu starten:
sudo systemctl restart mariadb
② Port 3306 in der Firewall öffnen
Wenn Sie UFW auf Ubuntu verwenden:
sudo ufw allow 3306
sudo ufw reload
Für verbesserte Sicherheit geben Sie die Quell‑IP‑Adresse an:
sudo ufw allow from 192.168.1.10 to any port 3306
③ Einen Remote‑Zugriffsbenutzer erstellen
CREATE USER 'app_user'@'%'
IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'%';
FLUSH PRIVILEGES;
Für bessere Sicherheit:
CREATE USER 'app_user'@'192.168.1.10'
IDENTIFIED BY 'StrongPasswordHere';
Checkliste, wenn Sie nicht extern verbinden können
1. Läuft MariaDB?
sudo systemctl status mariadb
2. Hört Port 3306?
sudo ss -tulnp | grep 3306
Wenn es 0.0.0.0:3306 anzeigt, hört es korrekt auf allen Schnittstellen.
3. Wenn Sie eine Cloud‑Umgebung verwenden (AWS / GCP / VPS)
- Stellen Sie sicher, dass Port 3306 in der Sicherheitsgruppe geöffnet ist
- Bestätigen Sie, dass keine externe Firewall die Verbindung blockiert
4. Ursachen nach Fehlermeldung
Kann keine Verbindung zum MySQL‑Server herstellen
- Port ist geschlossen
- Bind‑Address nicht geändert
- Firewall blockiert die Verbindung
Zugriff verweigert für Benutzer
- Falsche Host‑Angabe des Benutzers
- Falsches Passwort
- Berechtigungen nicht vergeben
Verbindung zeitüberschreitung
- Sicherheitseinstellungen auf Cloud‑Seite
- Netzwerk‑Routing‑Probleme
Wichtige Sicherheitshinweise
- Vermeiden Sie die Verwendung von “%” in Produktionsumgebungen
- Verwenden Sie nach Möglichkeit VPN‑Zugriff
- Erwägen Sie die Aktivierung von SSL/TLS‑Verbindungen
- Erlauben Sie niemals Remote‑Root‑Login
Fehlerbehebung, wenn MariaDB nicht startet (Fehler beim Starten)
① Dienststatus prüfen
sudo systemctl status mariadb
② Detaillierte Protokolle prüfen
sudo journalctl -xe
sudo cat /var/log/mysql/error.log
③ Häufige Ursachen
- Syntaxfehler in der Konfigurationsdatei
- Unzureichender Speicherplatz
- Portkonflikt (MySQL läuft bereits)
④ Speicherplatz prüfen
df -h
Zusammenfassung der Ursachen für Zugriff verweigert‑Fehler
- Falsches Passwort
- Falsche Host‑Angabe (Unterschied zwischen localhost und %)
- FLUSH PRIVILEGES nicht ausgeführt
- Versuch, sich standardmäßig als root anzumelden (erfordert
sudo mysql)
Grundlegende Leistungsverbesserungen (für Anfänger)
Advanced tuning is not required, but at minimum, confirm the following settings.
① Enable Slow Query Log
Add the following to 50-server.cnf:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
Restart MariaDB:
sudo systemctl restart mariadb
② Check Index Usage
Slow queries may be missing proper indexes.
EXPLAIN SELECT * FROM sample_table WHERE column_name = 'value';
③ Check Server Resources
top
htop
If memory is insufficient, consider upgrading your server plan.
Frequently Asked Questions (FAQ)
How can I lock the MariaDB version on Ubuntu 22.04?
Use apt-mark hold mariadb-server.
How do I reset the root password if I forgot it?
You can reset it by starting in safe mode and reconfiguring the password. See our dedicated guide for detailed steps.
How do I change the MariaDB port number?
Modify 50-server.cnf to something like port = 3307, then restart the service.
Conclusion: Using MariaDB Safely on Ubuntu
- Using the default repository version is the safest option
- Always run mysql_secure_installation
- Never use root for application connections
- Enable remote access only when necessary
- When troubleshooting, checking logs is the top priority
By following these steps, you can build a secure and production-ready MariaDB environment on Ubuntu.


