Wie Sie eine bestehende MySQL-Datenbank in die MariaDB von ServBay importieren
ServBay ist eine leistungsstarke lokale Web-Entwicklungsumgebung mit einer integrierten MariaDB als Standard-Datenbank-Management-System. Da MariaDB eine hohe Kompatibilität zu MySQL aufweist, gestaltet sich die Migration von Daten aus einer bestehenden MySQL-Instanz in die mitgelieferte MariaDB von ServBay relativ unkompliziert. In diesem Artikel erfahren Sie Schritt für Schritt, wie Sie eine vorhandene MySQL-Datenbank exportieren und erfolgreich in die MariaDB-Umgebung von ServBay importieren.
Überblick
Diese Anleitung soll Entwicklern helfen, die MySQL-Datenbanken Ihrer bestehenden Projekte oder Datenbestände in die MariaDB von ServBay zu übertragen. So können Sie Ihre Daten in der lokalen ServBay-Umgebung weiter nutzen, entwickeln und testen und dabei die Vorteile von ServBay – Effizienz und Komfort – voll ausschöpfen.
Anwendungsfälle
- Migration einer MySQL-Datenbank von einem Server oder einem anderen lokalen Rechner in die ServBay-Umgebung für lokale Entwicklung.
- Zusammenführen oder Sichern bestehender MySQL-Daten in einer MariaDB-Instanz von ServBay.
- Testen der Kompatibilität von bestehenden MySQL-Daten in ihrer Anwendung innerhalb der ServBay-Umgebung.
Voraussetzungen
Stellen Sie vor dem Import sicher, dass folgende Voraussetzungen erfüllt sind:
- MySQL ist installiert und läuft: Sie benötigen eine bestehende MySQL-Datenbank mit exportierbaren Daten. Stellen Sie sicher, dass Sie Zugangsdaten (Host, Port, Benutzername, Passwort) kennen.
- ServBay ist installiert und läuft: ServBay enthält MariaDB bereits vorinstalliert. Stellen Sie sicher, dass ServBay läuft und der MariaDB-Dienst gestartet ist. Den Status von MariaDB können Sie auf der Hauptoberfläche von ServBay im Bereich „Pakete“ überprüfen.
- MariaDB-Zugangsdaten von ServBay: Sie sollten die Zugangsdaten zu MariaDB von ServBay kennen. Standardmäßig läuft MariaDB auf
127.0.0.1
(oderlocalhost
) über Port3306
, der Standardnutzer ist in der Regelroot
. Sie finden die genauen Verbindungsdaten sowie das Standardpasswort fürroot
im Tab „Datenbank“ in ServBay. Notieren Sie sich das Passwort beim ersten Zugriff – eine Änderung wird empfohlen. - Datenbank-Benutzerrechte: Sie benötigen Exportrechte für die Quell-MySQL-Datenbank sowie Import- und Datenbank-Erstellungsrechte für die MariaDB von ServBay (normalerweise hat der
root
-Benutzer von ServBay alle nötigen Rechte). - Terminalzugriff: Für Export- und Importbefehle benötigen Sie Zugang zu einem Kommandozeilen-Terminal. Die hier beschriebenen Befehle gelten für macOS oder Linux.
Schritt 1: Datenbank aus der MySQL-Quelle exportieren
Exportieren Sie die Datenbank mit dem Tool mysqldump
als SQL-Datei.
- Terminal öffnen: Starten Sie das Terminal auf Ihrem Mac (oder unter Linux).
- Mit der Quell-MySQL-Datenbank verbinden: Im Terminal geben Sie folgenden Befehl ein, um sich mit Ihrer MySQL-Datenbank zu verbinden. Sie werden zur Passworteingabe aufgefordert.bash
mysql -u your_mysql_username -p -h your_mysql_host -P your_mysql_port
1- Ersetzen Sie
your_mysql_username
durch Ihren MySQL-Benutzernamen. - Ersetzen Sie
your_mysql_host
durch die Adresse Ihres MySQL-Servers (z. B.localhost
oder eine IP). - Ersetzen Sie
your_mysql_port
durch den MySQL-Port (Standard: 3306). - Auf einem Rechner mit lokal installierter MySQL und Standardport genügt oft:
mysql -u your_mysql_username -p
.
- Ersetzen Sie
- Datenbank exportieren: Nutzen Sie
mysqldump
, um die gewünschte Datenbank zu exportieren. Beispiel für die Datenbankmydatabase
:bashmysqldump -u your_mysql_username -p mydatabase > mydatabase.sql
1- Ersetzen Sie
your_mysql_username
undmydatabase
entsprechend. - Die Datenbankstruktur und alle Daten werden in die Datei
mydatabase.sql
im aktuellen Arbeitsverzeichnis exportiert. Alternativ kann ein vollständiger Pfad angegeben werden, z. B./Pfad/zu/Ihrem/Ordner/mydatabase.sql
. - Möchten Sie alle Datenbanken exportieren, nutzen Sie die Option
--all-databases
(mit Vorsicht einsetzen). - Einzelne Tabellen können nach dem Datenbanknamen angegeben werden.
- Ersetzen Sie
Schritt 2: Datenbank in MariaDB von ServBay vorbereiten
Bevor Sie Daten importieren, sollten Sie eine leere Datenbank in MariaDB anlegen.
- Terminal öffnen: Starten Sie ggf. erneut das Terminal.
- Mit MariaDB in ServBay verbinden: Verbinden Sie sich mit den MariaDB-Zugangsdaten von ServBay. Standardmäßig können Sie den
root
-Nutzer und das dazugehörige Passwort (siehe ServBay-App) verwenden.bashmysql -u root -p -h 127.0.0.1 -P 3306
1- Das zur Anmeldung notwendige Passwort finden Sie im Datenbank-Bereich der ServBay-App.
- Angepasste Port- oder Host-Einstellungen müssen in den Parametern
-h
und-P
berücksichtigt werden.
- Neue Datenbank anlegen: Im MariaDB-CLI erstellen Sie eine neue Datenbank, idealerweise mit identischem Namen wie die MySQL-Quelle:sql
CREATE DATABASE mydatabase;
1- Ersetzen Sie
mydatabase
durch Ihren gewünschten Datenbanknamen.
- Ersetzen Sie
Schritt 3: Daten in MariaDB von ServBay importieren
Importieren Sie nun die zuvor exportierte SQL-Datei in die neue Datenbank.
- Terminal öffnen: Stellen Sie sicher, dass Sie Zugriff auf die Datei
mydatabase.sql
haben – verwenden Sie ggf. einen vollständigen Pfad. - SQL-Datei in MariaDB importieren: Nutzen Sie den folgenden Befehl zum Import:bash
mysql -u root -p -h 127.0.0.1 -P 3306 mydatabase < mydatabase.sql
1- Sie werden zur Eingabe des MariaDB-Root-Passworts aufgefordert.
- Ersetzen Sie
mydatabase
durch den Namen der in Schritt 2 erstellten Datenbank. mydatabase.sql
ist die aus MySQL exportierte Datei.
Je nach Größe und Komplexität kann der Import einige Minuten in Anspruch nehmen. Während des Vorgangs gibt das Terminal oft keine Rückmeldung aus, bis der Import abgeschlossen ist.
Schritt 4: Importieren überprüfen
Es empfiehlt sich, nach dem Importvorgang die Daten in MariaDB von ServBay zu überprüfen.
- Mit MariaDB von ServBay verbinden:bash
mysql -u root -p -h 127.0.0.1 -P 3306
1- Geben Sie das MariaDB-Root-Passwort ein.
- Datenbank auswählen:sql
USE mydatabase;
1- Passen Sie
mydatabase
entsprechend Ihrer importierten Datenbank an.
- Passen Sie
- Daten prüfen: Führen Sie einige Tests durch, um Tabellen und Daten zu kontrollieren:sql
SHOW TABLES; -- Listet alle Tabellen auf SELECT COUNT(*) FROM your_table_name; -- Zählt Datensätze einer Tabelle SELECT * FROM your_table_name LIMIT 10; -- Zeigt die ersten 10 Zeilen einer Tabelle
1
2
3- Ersetzen Sie
your_table_name
durch den tatsächlichen Tabellennamen aus Ihrer Datenbank.
- Ersetzen Sie
Bei korrekten Ergebnissen war der Import erfolgreich.
Mögliche Kompatibilitätsprobleme und Lösungen
Obwohl MariaDB größtenteils zu MySQL kompatibel ist, können in Einzelfällen Probleme auftreten. Im Folgenden finden Sie häufige Probleme und Lösungsansätze:
1. Inkompatible SQL-Syntax
Seltene MySQL-spezifische SQL-Befehle oder Funktionen könnten in MariaDB fehlen oder abweichend funktionieren.
- Lösung: Bei Syntaxfehlern während des Imports sollten Sie die Datei
mydatabase.sql
öffnen, problematische SQL-Anweisungen suchen und an die MariaDB-Syntax anpassen. Im MariaDB-Handbuch finden sich in der Regel passende Alternativen.
2. Inkompatible Storage-Engines
Sowohl MySQL als auch MariaDB unterstützen verschiedene Storage-Engines (z. B. InnoDB, MyISAM, Aria, XtraDB usw.). Einige proprietäre Engines von MySQL (z. B. Archive, Blackhole) könnten in MariaDB fehlen und umgekehrt. InnoDB
ist bei beiden Systemen gängig und empfohlen.
- Lösung: Werden beim Import Fehler zu nicht unterstützten Engines angezeigt, ersetzen Sie im
.sql
-File den betreffenden Engine-Namen durch eine von MariaDB unterstützte Engine, beispielsweiseENGINE=InnoDB
. Alternativ können Sie nach dem Import per SQL-Befehl die Storage-Engine einzelner Tabellen anpassen:sqlALTER TABLE table_name ENGINE = InnoDB;
1
3. Benutzer und Berechtigungen
Normalerweise enthalten mit mysqldump
erzeugte SQL-Dateien keine Benutzer- und Berechtigungsdaten. Selbst wenn, weicht das Berechtigungssystem von MySQL und MariaDB unter Umständen voneinander ab. In ServBay gibt es standardmäßig einen root
-Nutzer; damit sollten Sie alle Verwaltungsaufgaben erledigen oder neue Benutzer anlegen.
- Lösung: Legen Sie nach dem Import alle für Ihre Anwendung notwendigen Datenbankbenutzer und Rechte in MariaDB von ServBay an. Melden Sie sich mit dem
root
-Benutzer an und nutzen Sie Standard-SQL-Befehle wieCREATE USER
undGRANT
. Beispiel:sql-- Neuen Benutzer anlegen ('your_username', 'localhost', 'your_password' anpassen) CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password'; -- Allen Zugriff auf eine bestimmte Datenbank gewähren GRANT ALL PRIVILEGES ON mydatabase.* TO 'your_username'@'localhost'; -- Rechte neu laden FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8- Ersetzen Sie
your_username
,localhost
(dies kann je nach Verbindung z. B.localhost
oder%
sein),your_password
undmydatabase
nach Bedarf. - Haben Sie das ServBay-MariaDB-Root-Passwort vergessen, bietet ServBay eine Resetfunktion für das Root-Passwort (für MariaDB und PostgreSQL). Hinweise dazu finden Sie in der App oder in den ServBay-Dokumentationen.
- Ersetzen Sie
Fazit
Das Importieren Ihrer bestehenden MySQL-Datenbank in die mitgelieferte MariaDB von ServBay ist ein wichtiger Schritt, um Ihren Entwicklungsworkflow vollständig in ServBay zu überführen. Die Migration besteht hauptsächlich darin, mit mysqldump
die Quelldatenbank zu exportieren, eine neue Zieldatenbank in ServBay anzulegen, anschließend die SQL-Datei zu importieren und abschließend den Erfolg des Imports zu überprüfen. Wenn Sie die detaillierten Schritte in dieser Anleitung befolgen und sich mit möglichen Kompatibilitätsproblemen auskennen, steht einer reibungslosen Migration Ihrer Datenbank und einer effizienten Webentwicklung mit ServBay nichts mehr im Wege.