Wenn es um (relationale) Datenbanken geht, ist MySQL der unangefochtene Sieger.
Aber jetzt hat es ernsthafte Konkurrenz bekommen!
Im Gegensatz zu anderen Datenbankvergleichen hat der Vergleich zwischen MySQL und MariaDB kaum einen echten, objektiven Wert. Sie sind fast gleich (und waren vor einiger Zeit sogar gleich!), haben die gleichen Verzeichnisstrukturen und die gleiche Syntax und die gleiche Leistung.
Ja, nach der Version 10 von MariaDB begannen die Dinge schneller auseinanderzugehen, aber selbst der Befehl zum Ausführen von MariaDB heißt `mysql`!
Während Sie hier also lernen, wie Sie von MySQL zu MariaDB migrieren können, finde ich es sehr interessant zu erfahren, wie dieser plötzliche Konkurrent entstanden ist. Wenn Sie neu bei MySQL sind, sollten Sie diesen Online-Kurs besuchen.
Die Geschichte hinter MariaDB
Ohne in den Lexikonmodus zu verfallen, möchte ich die wichtigsten Punkte kurz erläutern.
MySQL wurde 1995 von Michael Widenius als Alternative zu restriktiven, teuren Angeboten wie Microsofts SQL Server oder Oracles Suit veröffentlicht. Und der Rest ist, wie man so schön sagt, Geschichte: MySQL wurde so populär, dass die Entwickler schon bald vergaßen, dass SQL und MySQL zwei verschiedene Dinge sind. Es gibt unterschiedliche Schätzungen, aber man kann mit Fug und Recht behaupten, dass MySQL derzeit fast 45% des Datenbankmarktes beherrscht.
Um es kurz zu machen: MySQL wurde von Sun Microsystems übernommen, das wiederum von … übernommen wurde. Ja, Oracle. Damit befand sich die größte Open-Source-Datenbank-Engine nun im Besitz des erfolgreichsten kommerziellen Datenbankunternehmens der Welt. Für die ursprünglichen Schöpfer von MySQL war dies das Todesurteil für eine Datenbank-Engine, die von Millionen Menschen genutzt und geliebt wurde.
Sie befürchteten, dass Oracle sich nur für die erstaunliche Nutzerbasis von MySQL interessierte, den Geist des Projekts langsam abtötete und es stark kommerzialisieren würde.
Infolgedessen wurde 2010 eine reine GPL-Fork von MySQL mit dem Namen MariaDB ins Leben gerufen.
Sollten Sie nun auf MariaDB umsteigen?
Es ist schwer, in die eine oder andere Richtung zu argumentieren, und für unabhängige Entwickler macht es auch keinen Unterschied. Was die Popularität angeht, so ist MariaDB noch lange nicht so weit wie MySQL, aber es wird immer bekannter.
In den FAQ zur WordPress-Installation werden beispielsweise MySQL und MariaDB in einem Atemzug genannt.
Für größere Teams, die an langfristigen Lösungen arbeiten, hängt es davon ab, inwieweit sie Oracle vertrauen, dass die ursprünglichen Ideale von MySQL erhalten bleiben. Es ist schwer zu sagen, dass sie über Nacht drakonische Lizenzbedingungen durchsetzen würden, aber es ist auch nicht undenkbar.
Kombinieren Sie dies mit der Tatsache, dass MariaDB schneller innovieren kann und bald auf einer grundlegenden Ebene inkompatibel mit MySQL sein wird, und es gibt ein starkes Argument für einen Wechsel. Abgesehen davon spielt es im Moment keine Rolle, und abgesehen von einigen paranoiden Unternehmen bleiben die Benutzer von MySQL, wo sie sind.
Wie kann man von MySQL zu MariaDB migrieren?
Die Migration von MySQL zu MariaDB ist eine der lächerlich einfachsten Migrationen, die Sie je in Ihrem Leben durchführen werden. Es gibt nichts zu tun und Sie werden am Ende denken: “Das war’s?!”. Alles, was Sie tun müssen, ist im Grunde genommen:
- Stellen Sie sicher, dass Ihr Paketmanager Zugriff auf MariaDB hat.
- Stoppen Sie MySQL.
- Installieren Sie MariaDB
Ja, das war’s!
Wenn Sie beispielsweise mit Ubuntu 18.04 arbeiten, müssen Sie als erstes die MariaDB-Quellen zu Ihrem System hinzufügen, und zwar wie folgt
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://suro.ubaya.ac.id/mariadb/repo/10.3/ubuntu bionic main'
sudo apt-get update
Nun ist es an der Zeit, MySQL zu stoppen:
sudo service mysql stop
und installieren Sie dann MariaDB, das nach Fertigstellung gestartet wird:
apt install mariadb-server
Und als nächstes kommt… Nichts!
Ja, das war’s – Sie haben erfolgreich von MySQL zu MariaDB migriert. Ich weiß, es ist unmöglich, das zu glauben.
Ich meine, da muss doch mehr dahinterstecken als nur 2-3 Befehle?
Was ist mit dem Dumpen und Importieren von Datenbanken?
Wie sieht es mit Datenbankbenutzern, Passwörtern und Berechtigungen aus?
Was ist mit Optimierungseinstellungen (für DB-Administratoren)?
Ehrlich gesagt, ist das alles nicht nötig. MariaDB ist ein “Drop-in”-Ersatz für MySQL. Denken Sie daran, dass es sich nur um eine Open-Source-Abspaltung des bestehenden MySQL-Projekts handelt und daher zwangsläufig dasselbe ist. Wie ich bereits sagte, werden die Unterschiede mit der Zeit größer werden, aber im Moment gibt es nichts zu tun, außer MySQL zu stoppen und MariaDB zu installieren 🙂
Wenn Sie immer noch nicht glauben (was ich bewundere!), empfehle ich Ihnen einen Blick in die offiziellen Migrationsdokumente, in denen die beruhigende Behauptung aufgestellt wird:
Sie haben sich entschlossen, von MySQL auf MariaDB umzusteigen, sind aber ein wenig nervös. Das Letzte, was Sie wollen, ist, in einem Sumpf von Unzulänglichkeiten zu versinken. Machen Sie sich keine Sorgen, denn MariaDB ist so konzipiert, dass Sie MySQL sofort ersetzen können. Sie sollten in der Lage sein, MariaDB über Ihren MySQL-Server zu installieren und dann ohne Probleme Ihren Geschäften nachzugehen.
Ich hoffe, damit ist das Problem gelöst. Keine Sorge, ich persönlich habe schon einige MySQL-Datenbanken ohne jegliche Probleme migriert, Sie brauchen also keine Angst zu haben 🙂
Wenn Sie mit einer anderen Plattform als Ubuntu 18.04 arbeiten, bietet MariaDB ein hilfreiches Tool, mit dem Sie die erforderlichen Befehle einfach kopieren und einfügen können.
Bevor ich diesen Artikel schließe, noch ein Wort der Vorsicht: Bitte erstellen Sie ein Backup Ihrer MySQL-Datendateien, bevor Sie ein Upgrade durchführen.
Ebenso wichtig ist es, dass Sie sich gründlich über die Kompatibilität der MariaDB-Version, die Sie installieren, informieren, wenn Sie vorgefertigte Tools von Drittanbietern (wie Magento, Drupal usw.) verwenden.