MariaDB ist ein quelloffenes relationales Datenbankmanagementsystem (RDBMS), das als direkter Nachfolger und Drop-in-Ersatz von MySQL entwickelt wurde. Es entstand 2009, als Oracle MySQL übernahm — MariaDB wurde von MySQL-Mitgründer Michael Widenius und der Community als Fork von MySQL 5.1 ins Leben gerufen. Der Name ehrt seine Tochter Maria.
Warum MariaDB statt MySQL?
MariaDB ist zum MySQL-Protokoll und zu den MySQL-APIs vollständig kompatibel: Bestehende Anwendungen, Bibliotheken und Tools (z. B. PHP/PDO, WordPress, phpMyAdmin) funktionieren ohne Änderungen. Dazu kommen eigene Verbesserungen:
- Zusätzliche Storage Engines: Aria (crash-sicherer MyISAM-Ersatz), ColumnStore (analytische Spaltenspeicherung), MyRocks (RocksDB), Spider (Sharding)
- Moderne SQL-Funktionen: Window Functions, JSON-Funktionen, Common Table Expressions (CTE) — schon früh verfügbar
- System-Versioned Tables: automatische Historisierung von Änderungen (Temporal Tables)
- Sequences: eigene Sequenzobjekte für ID-Erzeugung (Alternative zu AUTO_INCREMENT)
- Virtuelle Spalten und berechnete Spalten ohne Trigger
- Mehr Performance-Optimierer und feinere Optimizer-Hints
Einsatzgebiete
MariaDB ist die Standard-Datenbank in fast allen Linux-Distributionen (Debian, Ubuntu, RHEL) und im klassischen LAMP-Stack. Sie treibt einen großen Teil des Webs: WordPress, Nextcloud, Joomla, Drupal und unzählige eigene Anwendungen laufen auf ihr. Die Versionslinien heißen 10.x (z. B. 10.6, 10.11 LTS) und 11.x; sie wird aktiv unter der Lizenz GPLv2 weiterentwickelt.
Erste Schritte
# Paket installieren (Debian/Ubuntu)
sudo apt install mariadb-server
# Dienst starten und sichern
sudo systemctl enable --now mariadb
sudo mariadb-secure-installation
# Datenbank anlegen
CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'app'@'localhost' IDENTIFIED BY 'sicheres-passwort';
GRANT ALL PRIVILEGES ON appdb.* TO 'app'@'localhost';
FLUSH PRIVILEGES;
Fazit
Wer MySQL einsetzt oder eine zuverlässige Open-Source-Datenbank sucht, bekommt mit MariaDB eine aktive, kompatible und funktionsreiche Alternative. Die Grundlagen der relationalen Modellierung gelten wie immer: SQL-Grundlagen, Normalisierung und Indizes. Im Vergleich dazu ist PostgreSQL die zweite große Open-Source-Option; für flexible, nicht-relationale Daten wären NoSQL-Systeme eine Alternative.