MySQL, MariaDB und Galera: Datenbanken betreiben und migrieren

Unsere Ingenieure betreiben MySQL und MariaDB, auch als Galera-Cluster, und ziehen Daten zwischen Datenbanken um, etwa von Firebird nach MariaDB. Sie betreuen auch PostgreSQL, Microsoft SQL Server und Oracle.

  • MySQL und MariaDB seit 2012, auch im Galera-Cluster
  • Migrationen zwischen Datenbanken, etwa von Firebird nach MariaDB
  • Antwort innerhalb eines Werktags

Wo wir Datenbanken einsetzen

Hinter jeder Web-Anwendung steht eine Datenbank, und oft ist sie der Teil, den niemand anfasst. Meist ist es MySQL oder MariaDB, seit Jahren auf demselben Server und mit einer Konfiguration, die niemand aufgeschrieben hat. Mit diesen beiden Systemen arbeiten unsere Ingenieure seit 2012: Installation, Sicherung, Replikation, Galera-Cluster, Leistung und Updates.

Mit PostgreSQL, Microsoft SQL Server und Oracle arbeiten unsere Ingenieure in Anwendungen, deren Daten dort liegen, und bei Schnittstellen zu solchen Systemen. Firebird kennen sie vor allem aus Migrationen.

Wie wir MySQL und MariaDB im Betrieb sichern und verfügbar halten, beschreibt die Seite Datenbanken mit MySQL und MariaDB.

Ein Datenbankzylinder, über eine Linie mit einer Messuhr verbunden; der Zeiger steht im orangen Bereich der Skala

Typische Aufgaben mit MySQL und MariaDB

  • Bestandsaufnahme: Version, Konfiguration, Sicherungen, Benutzer und Rechte, Größe und Wachstum der Daten
  • Sicherungen mit Binärlogs und regelmäßigem Wiederherstellungstest
  • Replikation und Galera-Cluster einrichten, überwachen und nach einem Ausfall wieder zusammenführen
  • langsame Abfragen finden, Indizes ergänzen und die Konfiguration anpassen, wenn nötig auch im Code der Anwendung
  • Updates und neue Hauptversionen, zuerst auf einer Kopie getestet
  • Wechsel zwischen MySQL und MariaDB und Migrationen aus anderen Datenbanken
  • Zeichensätze bereinigen, wenn Umlaute nach einem Umzug falsch erscheinen
  • Umzug der Datenbank auf einen neuen Server oder in einen Container, mit dauerhaftem Speicher und Weg zurück
Eine orange umrandete Datenbank in der Mitte, Linien führen zu sechs Aufgaben: Backup mit einer Datenbank in einem Kreispfeil, Galera mit drei verbundenen Datenbanken, INDEX mit einer Stoppuhr, Upgrade mit Stufen und Pfeil, UTF-8 mit dem Buchstaben Ä und Docker mit Containern

MariaDB und MySQL: ähnlich, aber nicht gleich

MariaDB ist als Abspaltung von MySQL entstanden, und viele Anwendungen laufen mit beiden. Mit jeder Hauptversion sind die beiden aber weiter auseinandergegangen. Für den Betrieb zählen vor allem drei Unterschiede.

Hochverfügbarkeit. In MariaDB ist Galera bereits enthalten. Für MySQL gibt es Galera als eigene Server-Variante, daneben die Gruppenreplikation von MySQL selbst. Welcher Weg passt, hängt davon ab, was bei Ihnen schon läuft.

Replikation zwischen beiden. Die beiden Systeme kennzeichnen Transaktionen in der Replikation unterschiedlich. Ein gemischter Aufbau aus MySQL und MariaDB ist deshalb nur eingeschränkt möglich und taugt eher für den Umzug als für den Dauerbetrieb.

Funktionen und Optimierer. Der Datentyp JSON, einzelne Funktionen und der Optimierer verhalten sich unterschiedlich. Dieselbe Abfrage kann auf dem einen System schnell und auf dem anderen langsam sein. Vor einem Wechsel testen wir deshalb die Anwendung gegen eine Kopie.

Zwei gleich geformte Datenbankzylinder nebeneinander, jeder aus fünf Ringen; links sind der zweite und vierte Ring orange, rechts der dritte und fünfte

Migrationen zwischen Datenbanken

Eine Anwendung wechselt die Datenbank selten ohne Grund. Häufige Anlässe sind ein System, das im Team niemand mehr kennt, oder alte Treiber, die mit neuen Versionen der Anwendung nicht mehr laufen. Manchmal sollen auch alle Anwendungen auf einer Datenbank laufen. Ein typisches Beispiel ist der Umzug von Firebird nach MariaDB.

Dabei ändert sich mehr als der Speicherort der Daten. Datentypen, Zeichensätze, gespeicherte Prozeduren, Trigger und der SQL-Dialekt unterscheiden sich, und die Abfragen im Code müssen mitziehen. Deshalb migrieren wir zuerst auf einer Kopie, vergleichen die Daten mit dem Original und schalten erst nach den Tests um.

Läuft eine Datenbank stabil und wird gepflegt, raten wir nicht zum Wechsel, nur weil ein anderes System moderner wirkt.

Links eine schmale hohe Datenbank, rechts eine breite flache; dazwischen wandern drei kleine Tabellen über eine Linie nach rechts, das letzte Stück mit der Pfeilspitze ist orange

Technologien und Umfang

Bereich Umfang
MySQL und MariaDB Installation, Sicherung mit Wiederherstellungstest, Replikation, Leistung und Updates
Hochverfügbarkeit Galera-Cluster mit MySQL und MariaDB, Replikation mit geplantem Umschalten
Firebird Migrationen, etwa nach MariaDB
PostgreSQL, Microsoft SQL Server und Oracle Anwendungen, deren Daten in diesen Datenbanken liegen, und Schnittstellen zu ihnen
Betrieb darunter Linux mit Debian und Ubuntu, Docker, KVM und Proxmox

Typische Ausgangslagen mit Datenbanken

  • Ihr System läuft, aber niemand kennt es genau. Wir erfassen Anwendung, Datenbank, Server und E-Mail, bewerten Risiken, empfehlen schriftlich den weiteren Weg und übernehmen auf Wunsch den Betrieb.

  • Für PHP 8.2 enden die Sicherheits-Updates am 31.12.2026, für PHP 8.1 und älter sind sie bereits beendet (Stand: 2026-10). Wir bringen gewachsene PHP-Anwendungen, auch mit Smarty-Templates und jQuery-Frontend, auf PHP 8.4 oder 8.5 und testen jede Stufe.

  • Ihre Daten wandern heute von Hand zwischen zwei Systemen, oder ein Partner verlangt eine Schnittstelle? Wir verbinden bestehende Anwendungen über REST oder SOAP, gleichen Daten zwischen ihnen ab und versenden Transaktionsmails und Benachrichtigungen aus Ihren Abläufen.

  • Ihr Team kommt nicht hinterher, Fachwissen fehlt oder vor einer wichtigen Entscheidung brauchen Sie eine Zweitmeinung? Wir übernehmen einen abgegrenzten Teil: ein Modul, das Backend zu Ihrem Frontend, eine Schnittstelle, eine Migration oder ein Code-Review. Wir arbeiten in Ihrem Repository und Ticketsystem, Code und Wissen bleiben bei Ihnen.

Der erste Schritt: ein Datenbank-Check mit schriftlichem Befund

Datenbank-Check: MySQL und MariaDB

Für Unternehmen, deren Anwendung an einer MySQL- oder MariaDB-Datenbank hängt und die wissen wollen, was bei einem Ausfall passiert und ob sich die Daten von gestern wirklich wiederherstellen lassen.

  • Sicherungen: was gesichert wird, wie oft und wo die Kopien liegen
  • ein Wiederherstellungstest auf einem getrennten System, mit gemessener Dauer
  • Replikation und Ausfallsicherheit: was es gibt und was fehlt
  • die langsamsten Abfragen und fehlende Indizes
  • Version, Support-Stand und Konfiguration
  • Empfehlung: Sicherung, Replikation oder Cluster, je nach Bedarf

Ein Cluster wie MariaDB Galera schützt vor dem Ausfall eines Servers, nicht vor gelöschten Daten. Dafür braucht es geprüfte Sicherungen. Deshalb beginnen wir mit dem Wiederherstellungstest. Auf welchem System er läuft, legen wir mit Ihnen fest. An Ihrer Produktivdatenbank ändern wir nichts.

Was das Ergebnis enthält

Ein schriftlicher Befund mit dem Ergebnis des Wiederherstellungstests, den Risiken nach Priorität und einer Empfehlung mit Aufwand. Der Befund gehört Ihnen. Auf Wunsch richten wir die Lösung danach ein, auch einen Galera-Cluster.

ab 1.900 € zzgl. USt.

In der Regel 2 Werktage

Datenbank-Check anfragen

Projekte mit MariaDB

  • Eine Tabelle aus Zeilen mit einem langen Pfeil über alle, beschriftet ALL, und einem orangen Pfeil von einer Indexkarte zu einer einzigen Zeile, beschriftet ref

    SQL-Indizes in einer Shop-Datenbank: von Full Scans zu Mikrosekunden

    Eine Shop-Datenbank ohne Indizes funktionierte, solange die Tabellen klein waren. Bei 500 000 Bestellungen und 1,75 Millionen Positionen lief jeder Filter und jeder Join auf einen Full Scan hinaus. Wir haben genau gemessen, was die fehlenden Indizes kosten, die richtigen angelegt und die Fallen dokumentiert, durch die ein Index nutzlos bleibt, obwohl er existiert.

  • Ein großer leerer Rahmen mit der Beschriftung RAM 40 GB, darin ein kleiner Rahmen mit der Beschriftung JVM 1 GB voller Blöcke, orange Blöcke laufen über seine Oberkante

    ColdFusion unter Last: Diagnose und Behebung des Fehlers JVM heap space

    Eine Adobe-ColdFusion-Anwendung lief bei wenig Verkehr ohne Klagen und lieferte in Spitzenzeiten Fehler und wurde langsam. Wir haben das Problem auf einer echten Datenbank reproduziert, den genauen Punkt gemessen, an dem der JVM-Heap ausgeht, und die Speicherkonfiguration behoben, mit demselben Lasttest vorher und nachher als Beleg.

Fragen zu MySQL, MariaDB und anderen Datenbanken

MySQL oder MariaDB: Wo liegt der Unterschied?

MariaDB ist als Abspaltung von MySQL entstanden. Für viele Anwendungen sind beide austauschbar: im Kern dasselbe SQL, ähnliche Werkzeuge und eine ähnliche Konfiguration. Mit jeder Hauptversion haben sie sich aber weiter auseinanderentwickelt, etwa bei der Replikation, beim Datentyp JSON, bei einzelnen Funktionen und beim Verhalten des Optimierers.

Ein Wechsel ist deshalb kein bloßer Austausch der Software. Wir prüfen vorher, welche Funktionen Ihre Anwendung nutzt, ziehen die Daten auf einer Kopie um und testen die Anwendung dagegen. Erst dann schalten wir um, in einem abgestimmten Zeitfenster und mit Weg zurück.

Wie läuft ein Wechsel der Datenbank ab, etwa von Firebird nach MariaDB?

Wir beginnen mit einem Inventar: Tabellen, Datentypen, Zeichensätze, gespeicherte Prozeduren, Trigger und die Abfragen in der Anwendung. Firebird und MariaDB sprechen unterschiedliche SQL-Dialekte. Deshalb übersetzen wir Schema und Logik und passen die Abfragen im Code an.

Dann migrieren wir die Daten auf einer Kopie und vergleichen sie Tabelle für Tabelle mit dem Original. Die Anwendung testen wir gegen die neue Datenbank, bevor wir in einem abgestimmten Zeitfenster umschalten. Bis der neue Stand stabil läuft, bleibt die alte Datenbank als Weg zurück erhalten.

Arbeiten Sie auch mit PostgreSQL, Microsoft SQL Server oder Oracle?

Ja: in Anwendungen, deren Daten in diesen Datenbanken liegen, und bei Schnittstellen zu solchen Systemen. Firebird kennen unsere Ingenieure vor allem aus Migrationen, etwa nach MariaDB.

Bei MySQL und MariaDB, auch im Galera-Cluster, übernehmen wir zusätzlich Betrieb, Sicherung und Hochverfügbarkeit. Für die anderen Datenbanken sagen wir Ihnen im Erstgespräch offen, was wir selbst übernehmen und wo Ihr Team oder ein spezialisierter Dienstleister besser passt.

Wie heben Sie MySQL oder MariaDB auf eine neue Hauptversion?

Zuerst auf einer Kopie. Wir prüfen, welche Einstellungen, SQL-Modi und Funktionen sich in der neuen Version ändern und was Ihre Anwendung davon nutzt. Dann spielen wir eine aktuelle Sicherung auf einem getrennten System ein, heben sie an und testen die Anwendung dagegen.

Wo es die Umgebung erlaubt, bauen wir den neuen Server neben dem alten auf und lassen ihn per Replikation mitlaufen. Das Umschalten ist dann kurz und findet in einem abgestimmten Zeitfenster statt. Der alte Server mit dem Stand vor dem Umschalten bleibt als Weg zurück erhalten.

Ersetzt ein Galera-Cluster die Datensicherung?

Nein. Ein Cluster schützt vor dem Ausfall eines Servers, nicht vor gelöschten Daten. Jede Änderung erreicht alle Knoten, auch ein versehentliches Löschen oder ein fehlerhaftes Update. Dann fehlen die Daten auf allen Servern zugleich.

Dafür braucht es geprüfte Sicherungen außerhalb des Clusters. Mit den Binärlogs lässt sich je nach Einrichtung auch ein Stand kurz vor dem Fehler wiederherstellen. Ob das klappt, zeigt erst ein Wiederherstellungstest. Deshalb beginnt unser Datenbank-Check damit.

Nicht sicher, welche Leistung zu Ihrem System passt?

Beschreiben Sie Ihr System in zwei Sätzen. Wir sagen Ihnen, welche Leistung passt und ob ein Einstiegsprodukt mit festem Preis der richtige erste Schritt ist.