Arbeiten mit MySQL Datenbanken
TYPO3 und die meisten anderen CMS nutzen eine MySQL Datenbank. Hier sind alle Informationen zur Arbeit mit MySQL in unseren Hosting Tarifen.
Allgemeine Informationen
Die folgenden Parameter sind für den Zugriff auf die Datenbank erforderlich:
- der Datenbankbenutzer
- der Datenbankname
- der Datenbankserver (Host)
- der Server-Port (Standard: 3306)
- das Passwort für die Datenbank
In unserem Classic Hosting sind der Datenbankname und der Datenbankbenutzer identisch und haben das Format db123456_789. Bei unserem Cloud Hosting kann der Kunde den Datenbanknamen und den Datenbankbenutzer bis auf ein von uns vorgegebenes Präfix selbst bestimmen.
Die Größe der Datenbank ist nicht durch die Größe des Hostingpakets begrenzt. Es sollte jedoch darauf geachtet werden, dass die Datenbanken nicht zu groß werden, da sonst die Performance der Website leidet und ein Backup/Restore sehr lange dauern kann. Außerdem kann ein Backup auf dem Webspace dazu führen, dass dieser vollläuft und die Funktion der Website beeinträchtigt wird.
Da unsere Datenbankserver (MySQL, MariaDB) auf dem gleichen Server wie der Webserver (Apache) laufen, müssen keine Daten über das Servernetzwerk übertragen werden, was zu einer schnelleren Auslieferung der Datenbankinhalte führt.
Datenbankserver
Folgende Datenbankserver stehen für unser Cloud Hosting zur Verfügung:
- db.mariadb1011 (MariaDB 10.11)
- db.mariadb103 (MariaDB 10.3)
- db.mysql56 (MySQl 5.6)
Folgende Datenbankserver stehen für unser Classical Hosting zur Verfügung:
- mariadb106 (MariaDB 10.6)
- localhost (MariaDB 10.4)
- mysql (MySQl 5.7)
Export und Import von Datenbanken
Prinzipiell kann man Datenbanken zwar auch über PhpMyAdmin exportieren/importieren, aber gerade bei größeren Datenbanken stößt man schnell an Grenzen (PHP-Script-Laufzeit oder Speicherlimit).
Melden Sie sich mit Ihrem SSH-Benutzer auf der Shell an. Unter Windows können Sie dazu das kostenlose Programm Putty verwenden, unter MacOS/Linux geht das direkt in der Shell. Ihre SSH-Zugangsdaten finden Sie in Ihrem Kundenmenü [Konfiguration › SSH-Zugang (Shell)].
Datenbank in Datei exportieren
Der Export einer Datenbank erfolgt am sichersten direkt auf der Shell mit dem Befehl mysqldump.
Ein Export der Datenbank wird mit folgendem Befehl erstellt:
mysqldump --opt --no-tablespaces -u db159422_875 -p -h mariadb106 db159422_875 > db159422_875.sql
Der Parameter -h legt den Datenbankserver fest.
Ersetzen Sie in diesem Befehl db159422_875 durch den Namen Ihrer Datenbank. Nach Drücken der Eingabetaste wird das Passwort für die Datenbank abgefragt. Alle diese Daten finden Sie in Ihrem Kundenmenü, das Passwort für die Datenbank können Sie auch der Konfiguration Ihrer Website entnehmen.
Datenbank aus Datei importieren
Der Import einer Datenbank erfolgt am sichersten direkt auf der Shell über den Befehl mysql.
Der Import einer Datenbank erfolgt mit dem Befehl:
mysql -u db12345_678 -p -h mariadb106 db12345_678 < dateiname.sql
Der Parameter -h legt den Datenbankserver fest.
Als "Eingabequelle" wird in diesem Beispiel die Datei "dateiname.sql" verwendet, die zuvor mit mysqldump erstellt wurde.
Ersetzen Sie in diesem Befehl db12345_678 durch den Namen Ihrer Datenbank. Nach Drücken der Eingabetaste wird das Passwort für die Datenbank abgefragt. Alle diese Daten finden Sie in Ihrem Kundenmenü, das Passwort für die Datenbank können Sie auch der Konfiguration Ihrer Website entnehmen.
Externer Zugriff auf Datenbanken
WICHTIG: Aus Sicherheitsgründen ist ein Zugriff von externen Systemen auf die Datenbanken ausschließlich über einen SSH-Tunnel möglich.
In den folgenden Beispielen verwenden wir einen Domainnamen als Hostnamen. Sollten Sie damit Probleme haben, eine Verbindung aufzubauen, verwenden Sie die IP-Adresse des Servers.
Die IP-Adresse können Sie in Ihrem Kundenmenü einsehen [SSH Zugang (Shell) › Zahnräder › Öffnen].
SSH Tunnel aufbauen mit PuTTY
Zur Einrichten eines SSH Tunnels befolgen Sie bitte die folgenden Schritte:
1. Normale SSH Verbindung (mit PuTTY) einrichten (ergänzende Videoanleitung)
1.1. Gehen Sie zur Category "Session".
Hier tragen Sie als Hostnamen einen Domainnamen aus Ihrer Domain-Verwaltung oder die Server IP-Adresse ein und wählen als Protokoll "SSH" aus. Der korrekte Port (22) wird automatisch eingestellt.
1.2. Nun zur Category "SSH".
Hier sollte als "Preferred SSH Protocol Version" die "2" ausgewählt werden.
2. SSH Tunnel einrichten
Nun gehen Sie unter Category auf "Tunnels". Dort geben Sie unter "Source Port" die Zahl "3306" ein und unter "Destination" den Datenbankserver (siehe oben) inklusive dem Port. Bestätigen Sie das Ganze mit einem Klick auf "Add". Setzen Sie zwei Häckchen bei "Port forwarding".
3. Einstellungen speichern
Nun gehen Sie wieder zur Category "Session" und geben dort unter dem Text "Saved Sessions" einen Namen für ihre Session ein. Mit einem Klick auf Save haben Sie die Einstellungen für die nächste Verbindung gesichert und können diese durch Markieren des vorher erstellten Namens und einen Klick auf "Load" wieder herstellen.
4. Verbindung öffnen
Als letztes müssen Sie nur noch unten im Fenster auf "Open" klicken und eventuell auftauchende Meldungen wegen neuen Zertifikaten bestätigen.
Direkter Zugriff auf eine Datenbank mit "MySQL Workbench"
Es ist auch möglich, mit externen Programmen direkt per SSH Tunnel auf die Datenbanken zuzugreifen. Mögliche Programme wären z.B. "MySQL Workbench" (Windows, MacOS, Linux) oder "Sequel Pro" (MacOS).
Für das folgende Beispiel nutzen wir die Windows-Version von "MySQL Workbench".
1. Erstellen Sie eine neue MySQL Verbindung durch einen Klick auf die Plus-Schaltfläche im Startbildschirm.
2. Vergeben Sie einen beliebigen Namen bei „Connection Name“.
Bei „Connection Method“ wählen Sie „Standard TCP/IP over SSH“.
Als „SSH-Hostnname“ können Sie den Domainnamen verwenden, alternativ verwenden Sie die IP-Adresse des Servers.
Den „SSH Username“ finden Sie in Ihrem Kundenmenü im Bereich „SSH Zugang (Shell)“. Sollten Sie das Passwort nicht mehr kennen, müssten Sie dort ein neues vergeben.
Klicken Sie bei „SSH Password“ auf „Store in Vault“ und geben dann das SSH-Passwort ein.
Tragen Sie für „MySQL Hostname“ den Datenbankserver (siehe oben) ein. Der „MySQL Server Port“ ist 3306.
Als Username geben Sie den Datenbankbenutzernamen ein, den Sie in Ihrem Kundenmenü finden.
Das Passwort für die Datenbank geben Sie ein, indem Sie auf „Store in Vault“ klicken.
Sollten Sie das Datenbank-Passwort nicht mehr kennen, können Sie es evtl. In der LocalConfiguration.php der TYPO3-Installation auslesen (oder einer Konfigurationsdatei eines anderen Systems, falls Sie nicht mit TYPO3 arbeiten).
Falls Sie das Datenbankpasswort nicht kennen, müssten Sie in Ihrem Kundenmenü ein neues vergeben und dieses dann auch in der Konfigurationsdatei anpassen.
Um zu prüfen, ob die Verbindung hergestellt werden kann, können Sie auf „Test Connection" klicken. Wenn alles in Ordnung ist, klicken Sie abschließend auf „OK“.
3. Die eingerichtete Verbindung steht nun im Startbildschirm von „MySQL Workbench“ zur Verfügung und kann durch einen Doppelklick gestartet werden.
4. Anschließend können Sie direkt mit der Datenbank arbeiten.
Für die Nutzung und Bedienung von „MySQL Workbench“ verweisen wir auf die Dokumentation des Programms.