
MySQL: Das Datenbanksystem für WordPress erklärt
MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem (RDBMS), das als Backend-Datenbank für WordPress verwendet wird, um alle Inhalte, Benutzerdaten, Einstellungen und Konfigurationen zu speichern. Es bildet zusammen mit PHP die technische Grundlage jeder WordPress-Installation.
Was ist MySQL und warum nutzt WordPress es?
MySQL wurde 1995 entwickelt und gehört heute zu den weltweit am meisten verbreiteten Datenbanksystemen. WordPress setzt auf MySQL (oder die kompatible Alternative MariaDB), weil es folgende Eigenschaften vereint:
- Open Source und kostenlos: MySQL steht unter der GNU General Public License (GPL) und ist frei verfügbar
- Plattformunabhängig: Läuft auf Windows, Linux, macOS und nahezu allen Betriebssystemen
- Hohe Performance: Optimiert für schnelle Lese- und Schreiboperationen bei Web-Anwendungen
- Zuverlässigkeit: Bewährte Stabilität auch bei hohem Datenaufkommen
- Skalierbarkeit: Von kleinen Blogs bis zu Enterprise-Websites einsetzbar
WordPress kommuniziert über die Skriptsprache PHP mit der MySQL-Datenbank. Jedes Mal, wenn du eine Seite aufrufst, sendet WordPress SQL-Abfragen an die Datenbank, um die benötigten Inhalte abzurufen und dynamisch zusammenzustellen.
Wie funktioniert MySQL in WordPress?
Die WordPress-Datenbankstruktur
Eine frische WordPress-Installation erstellt automatisch 12 Standard-Tabellen in deiner MySQL-Datenbank. Jede Tabelle hat ein Präfix (standardmäßig wp_), das du aus Sicherheitsgründen bei der Installation ändern solltest:
Kern-Tabellen:
- wp_posts – Speichert alle Beiträge, Seiten und Custom Post Types
- wp_postmeta – Zusätzliche Metadaten zu Beiträgen (z. B. SEO-Felder, Custom Fields)
- wp_users – Benutzerdaten wie Username, E-Mail, Passwort-Hash
- wp_usermeta – Erweiterte Benutzerinformationen und Einstellungen
- wp_comments – Alle Kommentare zu Beiträgen
- wp_commentmeta – Metadaten zu Kommentaren
- wp_terms – Begriffe für Kategorien, Tags und Taxonomien
- wp_term_taxonomy – Zuordnung von Begriffen zu Taxonomie-Typen
- wp_term_relationships – Verknüpfung zwischen Posts und Terms
- wp_options – Globale WordPress-Einstellungen (Theme, Plugins, Site-URL etc.)
- wp_links – Blogroll-Links (heute kaum noch genutzt)
- wp_termmeta – Metadaten für Taxonomie-Begriffe
Plugins und Themes können zusätzliche Tabellen anlegen. WooCommerce etwa erstellt über 10 eigene Tabellen für Produkte, Bestellungen und Shop-Daten.
SQL-Abfragen: So kommuniziert WordPress mit MySQL
WordPress nutzt die WordPress Database Class (wpdb) für sichere Datenbankabfragen. Ein Beispiel: Wenn ein Besucher einen Blogbeitrag aufruft, führt WordPress etwa folgende SQL-Abfrage aus:
sql
SELECT * FROM wp_posts
WHERE post_type = 'post'
AND post_status = 'publish'
AND ID = 123;Diese Abfrage holt den Beitrag mit der ID 123 aus der Tabelle wp_posts. Parallel werden weitere Abfragen für Metadaten, Taxonomien und Kommentare ausgeführt.
Wichtig: Jede WordPress-Seite löst zwischen 10 und 100+ Datenbankabfragen aus – je nach Komplexität der Seite und Anzahl der Plugins. Langsame Abfragen sind einer der häufigsten Performance-Bremsen.
MySQL vs. MariaDB: Was ist der Unterschied?
Viele moderne Hosting-Provider setzen inzwischen auf MariaDB statt auf MySQL. MariaDB ist eine Fork (Abspaltung) von MySQL, die 2009 von den ursprünglichen MySQL-Entwicklern gegründet wurde, nachdem Oracle MySQL übernommen hatte.
Gemeinsamkeiten:
- Zu 100% kompatibel mit MySQL (bis MySQL 5.5)
- Identische Befehle und Syntax
- WordPress funktioniert problemlos mit beiden Systemen
Unterschiede:
- MariaDB ist vollständig Open Source und unabhängig
- Bessere Performance bei komplexen Abfragen
- Erweiterte Storage Engines (z. B. Aria, ColumnStore)
- Aktivere Entwickler-Community
Für WordPress-Nutzer spielt der Unterschied in der Praxis kaum eine Rolle. Beide Systeme sind vollständig austauschbar.
MySQL-Datenbank verwalten: phpMyAdmin & Co.
Um deine MySQL-Datenbank direkt zu verwalten, bieten die meisten Hoster Verwaltungstools wie phpMyAdmin an. Damit kannst du:
- Tabellen und Daten einsehen und bearbeiten
- SQL-Abfragen manuell ausführen
- Datenbanken exportieren (Backup erstellen)
- Datenbanken importieren (z. B. nach einem Umzug)
- Benutzerrechte verwalten
- Beschädigte Tabellen reparieren
Alternative Tools:
- Adminer – Schlanke phpMyAdmin-Alternative (nur eine PHP-Datei)
- MySQL Workbench – Desktop-Software für professionelle Datenbank-Administration
- TablePlus – Modernes GUI-Tool für macOS, Windows und Linux
- WP-CLI – Kommandozeilen-Tool für Datenbank-Operationen direkt in WordPress
Sicherheitshinweis: Zugriff auf phpMyAdmin sollte mit einem starken Passwort geschützt und idealerweise per IP-Whitelist eingeschränkt werden. Ein offenes phpMyAdmin ist ein beliebtes Angriffsziel für Hacker.
MySQL-Datenbank optimieren: Performance-Tipps
Eine aufgeblähte oder schlecht konfigurierte Datenbank kann deine Website massiv verlangsamen. Mit diesen Maßnahmen holst du mehr Performance heraus:
1. Datenbank-Tabellen regelmäßig optimieren
MySQL speichert gelöschte Daten nicht sofort physisch, sondern markiert sie nur als gelöscht. Das führt zu Overhead (ungenutzter Speicherplatz). Lösung:
Via phpMyAdmin:
- Alle Tabellen auswählen
- Unter „Mit markierten“ → „Tabelle optimieren“ wählen
Via WP-CLI:
wp db optimizeVia Plugin:
- WP-Optimize (automatische Optimierung)
- Advanced Database Cleaner
2. Revisionen begrenzen
WordPress speichert automatisch alle Entwurfsversionen deiner Beiträge. Bei umfangreichen Artikeln können schnell 20+ Revisionen pro Beitrag entstehen. Das bläht die wp_posts-Tabelle unnötig auf.
Lösung in wp-config.php:
// Revisionen auf 3 begrenzen
define('WP_POST_REVISIONS', 3);
// Revisionen komplett deaktivieren
define('WP_POST_REVISIONS', false);Alte Revisionen kannst du mit einem Plugin wie WP-Sweep oder direkt via SQL-Abfrage löschen:
DELETE FROM wp_posts WHERE post_type = 'revision';3. Transients und Autoload-Daten bereinigen
Die Tabelle wp_options speichert temporäre Daten (Transients) und Plugin-Einstellungen. Problematisch wird es, wenn:
- Abgelaufene Transients nicht gelöscht werden
- Zu viele Einträge mit
autoload = 'yes'existieren (werden bei jedem Seitenaufruf geladen)
Autoload-Einträge prüfen:
SELECT option_name, LENGTH(option_value) as size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC
LIMIT 20;Große Einträge solltest du kritisch prüfen. Manche Plugins speichern unnötig große Daten im Autoload.
Abgelaufene Transients löschen:
DELETE FROM wp_options
WHERE option_name LIKE '_transient_%'
AND option_name NOT LIKE '_transient_timeout_%';4. Indizes optimieren
Indizes beschleunigen Suchabfragen erheblich. WordPress legt standardmäßig sinnvolle Indizes an, aber manche Plugins vergessen das.
Fehlende Indizes identifizieren:
In phpMyAdmin unter „Struktur“ prüfen, ob häufig abgefragte Spalten einen Index haben, zum Beispiel post_status, post_type, post_date.
5. Query Monitor Plugin nutzen
Das Plugin Query Monitor zeigt dir:
- Welche SQL-Abfragen am längsten dauern
- Welche Plugins die meisten Abfragen auslösen
- Duplicate Queries, also unnötige Mehrfachabfragen
So identifizierst du Performance-Bremsen gezielt und kannst bei problematischen Plugins nach Alternativen suchen.
6. Caching implementieren
Eine gut konfigurierte Caching-Lösung reduziert Datenbankabfragen deutlich:
- Object Cache, Redis oder Memcached, speichert Abfrageergebnisse im RAM
- Page Cache, WP Rocket oder LiteSpeed Cache, liefert fertige HTML-Seiten ohne Datenbankzugriff
- Database Query Cache, bereits in MySQL vorhanden und serverseitig zu konfigurieren
MySQL-Sicherheit: So schützt du deine Datenbank
1. Starke Zugangsdaten
Das klingt banal, ist aber entscheidend:
- Niemals root als Datenbankbenutzer verwenden
- Mindestens 16-stellige, zufällige Passwörter nutzen
- Separate Datenbankbenutzer pro WordPress-Installation anlegen
2. Präfix ändern
Das Standard-Präfix wp_ macht es Angreifern leicht. Ändere es bei der Installation zu etwas Individuellem wie xyz_42f8_.
Nachträgliches Ändern ist aufwendig. Alle Tabellen müssen umbenannt und sämtliche Verweise in der Datenbank angepasst werden. Besser direkt korrekt starten.
3. Remote-Zugriff einschränken
MySQL sollte nur von localhost, also 127.0.0.1, erreichbar sein, außer du brauchst gezielt externe Zugriffe. Prüfe in der MySQL-Konfiguration my.cnf:
bind-address = 127.0.0.14. Rechte minimieren
Der WordPress-Datenbankbenutzer braucht nur diese Berechtigungen:
- SELECT, INSERT, UPDATE, DELETE
- CREATE (für Plugins, die Tabellen anlegen)
- ALTER, INDEX (für Updates)
Er braucht nicht: DROP, GRANT, SUPER, FILE
5. SQL-Injection-Schutz
WordPress schützt automatisch vor SQL-Injection-Angriffen durch:
- Prepared Statements in der
wpdb-Klasse - Escaping von Benutzereingaben
- Validierung von Datentypen
Aber: Schlecht programmierte Plugins können trotzdem anfällig sein. Setze auf etablierte, gut gewartete Plugins und halte sie aktuell.
Häufige MySQL-Fehler in WordPress beheben
„Error establishing a database connection“
Dieser Fehler tritt auf, wenn WordPress keine Verbindung zur Datenbank herstellen kann. Ursachen:
- Falsche Zugangsdaten in wp-config.php
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST prüfen
- Bei Hosting-Umzug oft das Problem
- MySQL-Server ist ausgefallen
- Beim Hoster nachfragen oder Server neustarten
- Zu viele gleichzeitige Verbindungen
- Ressourcenlimit erreicht (bei Shared Hosting häufig)
- Traffic-Spike oder DDoS-Angriff
- Korrupte Datenbank
- Via phpMyAdmin reparieren: Tabelle auswählen → „Reparieren“
„Database server error for query“
Ein spezifischer SQL-Befehl ist fehlgeschlagen. Meist durch:
- Beschädigte Tabellen (reparieren mit REPAIR TABLE)
- Fehlerhafte Plugin-Abfragen (Plugin deaktivieren)
- Unzureichende Benutzerrechte
Datenbank ist zu groß / Backup schlägt fehl
Große Datenbanken (>1 GB) können Probleme verursachen:
Ursachen:
- Zu viele Revisionen und Spam-Kommentare
- WooCommerce-Logs und Session-Daten
- Transients von Plugins
Lösungen:
- Alte Daten mit WP-Sweep bereinigen
- Backup-Plugin mit inkrementellen Backups nutzen (z. B. UpdraftPlus)
- Bei großen Datenbanken: Export über WP-CLI statt phpMyAdmin
wp db export backup.sql --add-drop-tableMySQL-Versionen: Was du wissen musst
Minimale Anforderungen für WordPress
WordPress empfiehlt:
- MySQL 8.0 oder höher
- MariaDB 10.5 oder höher
Ältere Versionen funktionieren zwar noch (ab MySQL 5.7), werden aber nicht mehr vom Hersteller supported.
Neue Features in MySQL 8.0+
- Fensterfunktionen (Window Functions): Komplexe Analysen direkt in SQL
- Common Table Expressions (CTEs): Verbesserte Lesbarkeit komplexer Abfragen
- JSON-Funktionen: Native Unterstützung für JSON-Datentypen
- Performance-Schema: Besseres Monitoring und Debugging
Für Standard-WordPress-Websites sind die Unterschiede nicht spürbar. Bei komplexen Webshops oder Custom-Entwicklungen können moderne Features jedoch Vorteile bringen.
MySQL-Backups: So sicherst du deine Daten
Ein MySQL-Backup ist essenziell. Selbst wenn deine Dateien via FTP gesichert sind: Ohne Datenbank ist deine WordPress-Website unbrauchbar.
Backup-Methoden im Übergleich
1. phpMyAdmin-Export
- Manuell, für kleine Datenbanken
- Kann bei >100 MB zu Timeouts führen
2. WP-CLI
bash
wp db export backup-$(date +%Y%m%d).sql- Schnell und zuverlässig
- Auch für große Datenbanken geeignet
3. Backup-Plugins
- UpdraftPlus, automatische Backups mit Cloud-Speicher
- BackWPup, flexible Backup-Zeitpläne
- Duplicator, ideal für Umzüge inklusive Datenbank
4. Hoster-Backups
- Viele Managed-Hosting-Anbieter wie Raidboxes oder WP Engine erstellen automatisch Snapshots
- Vorteil, kein Plugin nötig und oft 1-Klick-Wiederherstellung
Backup-Best-Practices
- 3-2-1-Regel, drei Kopien, zwei verschiedene Medien, eine Kopie extern
- Automatisierung, täglich inkrementelle Backups und wöchentlich vollständige Backups
- Testen, regelmäßig Wiederherstellungen prüfen
- Vor Updates immer ein manuelles Backup vor großen WordPress- oder Plugin-Updates erstellen
MySQL-Hosting: Worauf du achten solltest
Nicht jeder Hoster liefert gute MySQL-Performance. Diese Punkte sind entscheidend.
1. MySQL-Version
Mindestens MySQL 8.0 oder MariaDB 10.5 sollte verfügbar sein.
2. Ressourcen-Limits
Shared-Hosting-Pakete begrenzen oft:
- Maximale Datenbankgröße, zum Beispiel 1 GB
- Maximale gleichzeitige Verbindungen, zum Beispiel 10
- Maximale Query-Laufzeit, häufig 30 Sekunden
Bei größeren Projekten besser VPS oder Managed WordPress Hosting nutzen.
3. Standort des Datenbankservers
Bei manchen Budget-Hostern läuft MySQL auf einem separaten Server. Das erhöht die Latenz. Optimal ist eine gemeinsame Maschine für Webserver und Datenbank.
4. Backup-Infrastruktur
Automatische tägliche Datenbank-Backups sollten Standard sein. Prüfe:
- Aufbewahrungsdauer der Backups
- Eigenen Zugriff auf Backups
- Möglichkeit zur 1-Klick-Wiederherstellung
Empfehlenswerte Hoster für Deutschland
Managed WordPress Hosting:
- Raidboxes, deutscher Anbieter mit Staging und Object Cache
- WP Engine, Premium-Infrastruktur für größere Projekte
Klassisches Webhosting:
- ALL-INKL, solides Preis-Leistungs-Verhältnis mit deutschem Support
- Hetzner, VPS-Lösungen mit voller Kontrolle
MySQL und DSGVO: Was du beachten musst
MySQL speichert personenbezogene Daten wie E-Mail-Adressen, Namen und IP-Adressen. Deshalb gilt die DSGVO.
Wichtige Punkte:
- Hosting-Standort, Server innerhalb der EU
- Verschlüsselung, Datenbankverbindungen per SSL oder TLS
- Löschkonzept, entfernte Benutzer müssen auch aus der Datenbank gelöscht werden
- Backup-Speicherorte, auch Backups müssen DSGVO-konform abgelegt sein
Bei deutschen Hostern wie ALL-INKL oder Hetzner ist das meist gegeben. Bei US-Hostern bestehen weiterhin rechtliche Unsicherheiten.
MySQL-Performance-Monitoring: Tools und Metriken
Wichtige Kennzahlen
Query Response Time:
- Unter 100 ms, exzellent
- 100 bis 300 ms, gut
- 300 bis 1000 ms, verbesserungswürdig
- Über 1000 ms, kritisch
Slow Query Log aktivieren
In der Datei my.cnf:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-queries.log
long_query_time = 2Damit werden alle Abfragen geloggt, die länger als 2 Sekunden dauern.
Monitoring-Tools
Kostenlos:
- Query Monitor (WordPress-Plugin) – Analysiert Abfragen direkt im Frontend
- MySQL Performance Schema – Eingebautes Monitoring
- Percona Monitoring and Management (PMM) – Umfassende Open-Source-Lösung
Premium:
- New Relic – Application Performance Monitoring mit Database-Insights
- Datadog – Cloud-Monitoring mit MySQL-Integration
Fazit: MySQL als Fundament deiner WordPress-Website
MySQL ist das unsichtbare Herzstück jeder WordPress-Installation. Ohne funktionierende Datenbank ist selbst die schönste Website nutzlos. Die gute Nachricht: MySQL ist robust, bewährt und bei richtiger Konfiguration extrem zuverlässig.
Die wichtigsten Takeaways:
- Regelmäßige Optimierung hält die Datenbank schlank und schnell
- Sichere Zugangsdaten und minimierte Berechtigungen schützen vor Angriffen
- Automatisierte Backups sind Pflicht, nicht Kür
- Modern Hosting mit MySQL 8.0+ und ausreichend Ressourcen lohnt sich
- Monitoring-Tools helfen, Performance-Probleme frühzeitig zu erkennen
Mit dem richtigen Know-how und etwas Wartung sorgt MySQL dafür, dass deine WordPress-Website reibungslos läuft – heute und in Zukunft.
Mach deine Website fit für mehr Sichtbarkeit, Geschwindigkeit und Nutzerfreundlichkeit
Sichere dir jetzt deinen kostenlosen 30-Minuten Website-Check im Zoom.
Wir prüfen deine Seite auf SEO, Ladezeit, UX und Barrierefreiheit – und geben dir konkrete Tipps, die du sofort umsetzen kannst.


