MySQL: Erweiterte Nutzung

Wie Sie MySQL-Daten konfigurieren, optimieren, exportieren oder importieren

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite MySQL-Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Unbegrenzte Verbindungen und Übertragungen.
  • phpMyAdmin Web-UI inklusive.
  • Mühelose Updates mit nur einem Klick.
  • Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die MySQL-Cloud-Hosting-Lösung von Stackhero auszuprobieren!

Bei Stackhero gibt es keine fest codierte Begrenzung für die Anzahl gleichzeitiger Verbindungen, die Ihr MySQL-Server verarbeiten kann. Sie haben die Flexibilität, diesen Parameter direkt über Ihr Stackhero-Dashboard an die Anforderungen Ihrer Anwendung anzupassen.

Auch wenn es verlockend sein mag, diesen Wert möglichst hoch anzusetzen, empfiehlt es sich, ein sinnvolles Limit zu wählen. Jede offene Verbindung verbraucht Arbeitsspeicher (RAM), daher kann ein zu hoher Wert unnötigen Druck auf Ihre Instanz ausüben und Ihre Datenbank potenziell instabil machen.

Wenn Ihre Datenbank auf der InnoDB-Storage-Engine basiert, können Sie im Stackhero-Dashboard die Option "InnoDB Optimizations" aktivieren, um die Performance zu steigern.

Ebenso kann die Aktivierung der Option "MyISAM Optimizations" die Leistung verbessern, falls Ihre Datenbank die MyISAM-Storage-Engine verwendet.

Falls Sie nicht sicher sind, welche Storage-Engine Ihre Datenbank nutzt oder welche Optimierungsoption Sie wählen sollten, ist es in der Regel unproblematisch, diese Optionen standardmäßig zu aktivieren. Sie können sie jederzeit später anhand Ihrer Workload oder Ressourcennutzung feinjustieren.

MySQL-Kommandozeilentools wie mysql und mysqldump sind äußerst hilfreich für Aufgaben wie das Importieren und Exportieren von Daten.

Eine einfache Möglichkeit, auf diese Tools zuzugreifen, besteht darin, sie innerhalb eines Docker-Containers auszuführen. So bleibt Ihre lokale Umgebung sauber und Sie vermeiden manuelle Installationen.

Wenn Docker nicht Teil Ihres Workflows ist, ist das absolut kein Problem. Schauen Sie sich Code-Hero auf Stackhero an. Diese browserbasierte Entwicklungsplattform ermöglicht es Ihnen, direkt im Browser zu arbeiten, ohne lokal etwas installieren zu müssen. Weitere Informationen und einen schnellen Einstieg finden Sie unter Code-Hero auf Stackhero.

Um mit Docker zu starten, können Sie einen MySQL-Container mit folgendem Befehl ausführen:

docker run -it -v $(pwd):/mnt mysql:<MYSQL_VERSION> /bin/bash

Ersetzen Sie <MYSQL_VERSION> durch die benötigte Version. Wenn Sie beispielsweise MySQL 8.0.36-0 auf Stackhero verwenden, geben Sie 8.0.36 an (ohne das -0 am Ende).

Sobald Ihr Container läuft, können Sie Ihre Verbindung mit folgendem Befehl testen:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT>

Ihr aktuelles Verzeichnis wird dabei als /mnt im Container eingebunden (dank des Arguments $(pwd):/mnt). Diese Konfiguration erleichtert den Dateiaustausch zwischen Ihrem Rechner und dem Container. Möchten Sie beispielsweise eine Datenbank auf Ihrem Rechner sichern, verwenden Sie:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql

Um ein Backup (oder einen "Dump") Ihrer Datenbank zu erstellen, können Sie das Tool mysqldump direkt von Ihrem Rechner aus verwenden. (Siehe vorherigen Abschnitt, falls Sie es lieber in Docker ausführen möchten.)

Um eine Datenbank von Ihrer Stackhero-Instanz auf Ihren Rechner zu exportieren, führen Sie folgenden Befehl aus:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > <DATABASE>.sql

Ersetzen Sie <XXXXXX>.stackhero-network.com, <PORT> und <DATABASE> durch die tatsächlichen Angaben Ihrer Instanz. Nach Ausführung des Befehls werden Sie nach dem Root-Passwort gefragt. Das Tool mysqldump speichert dann Ihre Datenbanktabellen in einer Datei namens <DATABASE>.sql.

Um eine Datenbank von Ihrem Rechner in Ihre Stackhero-Instanz zu importieren, verwenden Sie diesen Befehl:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql

Denken Sie daran, yourDump.sql durch den tatsächlichen Dateinamen der zu importierenden SQL-Datei zu ersetzen.