So nutzen Sie unsere Datenbank
Wordpress, Joomla! und andere Content Management Systeme (kurz: CMS) benötigen eine Datenbank um dynamische Inhalte ausliefern zu können. MySQL ist ein populäres, quelloffenes Datenbankmanagementsystem.
Datenbanken und PHP stehen Ihnen bereits ab dem aktuellen Paket Hosting Starter (ehemals PowerWeb Starter) zur Verfügung.
MySQL und MariaDB sind verbreitete Datenbankverwaltungssysteme im Internet, welche auch sehr große Datenbestände problemlos bewältigen können. Sie gelten als sehr zuverlässig und schnell.
Verfügbare Datenbanken in Ihrem Hosting-Paket
Die Anzahl der in Ihrem Paket enthaltenen Datenbanken können Sie direkt in Ihrem STRATO Kunden-Login einsehen. Rufen Sie dazu bitte den Menüpunkt Ihr Paket auf. Etwas runtergescrollt zum Bereich Technische Features erhalten Sie eine Übersicht über die zur Verfügung stehenden und bereits genutzten Datenbanken Ihres Paketes.
Wie kann ich eine Datenbank anlegen und verwalten?
Um mit Ihrer Datenbank arbeiten zu können, legen Sie diese zuerst einmal im passwortgeschützten STRATO Kunden-Login an. Loggen Sie sich dazu bitte mit Ihrer Kundennummer und Ihrem Kundenpasswort ein und wählen anschließend das gewünschte Paket aus. Auf der linken Seite sehen Sie dann die Menüstruktur zu Ihrem gewählten Paket.
Datenbank anlegen
Wählen Sie im linken Menü die Punkte Datenbanken und Webspace und dann Datenbankverwaltung. Klicken Sie anschließend auf Datenbank anlegen, um eine neue Datenbank zu erstellen.
Unsere Empfehlung für gute Passwörter
Mit einem Klick auf Datenbank anlegen wird diese erstellt und taucht anschließend in der Übersicht auf, wo sie nun verwaltet werden kann. Die Bezeichnungen zur Datenbank wurden nach einem Muster automatisch festgelegt und dienen später als Information zur Verwendung der Datenbank mit Ihrer Webseite.
Datenbankname: dbs####### / Benutzername: dbu#####, wobei "#######" durch eine Nummer ersetzt wird.
Ältere Datenbanken haben noch das Schema: DB####### und U#######
Sie sehen zudem, wie viel Speicherplatz die Datenbank belegt, den gewählten Kommentar und die bei Erstellung stets aktuelle DB-Version wird aufgeführt.
Datenbank verwalten
Möchten Sie eine bestehende Datenbank verwalten, wählen Sie im STRATO Kunden-Login über Ihre Paketübersicht das gewünschte Paket aus. Sie steuern dann links Datenbanken und Webspace -> Datenbankverwaltung an.
Datenbank löschen
Benötigen Sie eine Datenbank nicht mehr, können Sie sie über die Schaltfläche Löschen in Ihrer Datenbankverwaltung auch wieder entfernen.
Wie kann ich über PHP auf die Datenbank zugreifen?
PHP ist in allen aktuellen Hosting-Paketen in verschiedenen Versionen verfügbar. Um eine Verbindung zur Datenbank herzustellen, benötigen Sie den Hostnamen des Datenbankservers. Ihren DB-Hostname finden Sie in Ihrer Datenbankverwaltung. Klicken Sie dazu ganz rechts bei Ihrer Datenbank auf die Schaltfläche mit den 3 Punkten und anschließend auf »Details«. Sie finden unter "Server" Ihren Datenbanknamen, z.B. "database-0123456789.webspace-host.com" (bei Ihnen mit anderer Zahlenkombination).
Für den Verbindungsaufbau mit PHP und den gängigen CMS benötigen Sie in der Regel die folgenden Informationen:
Datenbankname: | dbs####### |
Benutzername: | dbu####### |
Passwort: | Ihr eigenes Passwort, das Sie in der Datenbankverwaltung festgelegt haben (siehe oben) |
Datenbanktyp: | MySQL oder MariaDB |
Servername: | z.B. "database-0123456789.webspace-host.com" (3-Punkte → »Details« bei Ihrer Datenbank) |
Beispiel für eine Verbindungsherstellung:
$dsn = 'mysql:host=database-0123456789.webspace-host.com;dbname=dbs#######';
$benutzername = 'dbu#######';
$passwort = 'IhrPasswort';
try {
$dbh = new PDO($dsn, $benutzername, $passwort);
echo "Verbindung zur Datenbank hergestellt.";
} catch (PDOException $e) {
die("Fehler bei der Verbindung zur Datenbank: " . $e->getMessage());
}
Wenn Sie die Verbindung zur Datenbank nicht mehr benötigen, können Sie sie mit der Funktion $dbh = null;
schließen.
Hier finden Sie ein Beispiel-Skript, das den Verbindungsaufbau in PHP veranschaulicht. Ersetzen Sie die Platzhalter ### jeweils durch die entsprechenden Angaben Ihrer Datenbank für db_benutzer, db_passwort und db_name.
Beispiel-Skript:
<?php
// Zugangsdaten
$db_server = 'database-0123456789.webspace-host.com';
$db_benutzer = 'dbu#######';
$db_passwort = 'IhrPasswort';
$db_name = 'dbs#######';
// Verbindungsaufbau
try {
$dbh = new PDO("mysql:host=$db_server;dbname=$db_name", $db_benutzer, $db_passwort);
echo 'Verbindung zur Datenbank hergestellt.';
} catch (PDOException $e) {
die('Fehler bei der Verbindung zur Datenbank: ' . $e->getMessage());
}
?>
Verwaltung mit phpMyAdmin
Begeben Sie sich wieder zur Datenbankverwaltung in Ihrem Paket im STRATO Kunden-Login und klicken Sie rechts neben der Datenbank auf PhpMyAdmin starten. Es öffnet sich nun ein neues Fenster, worin Sie Ihre Datenbank bearbeiten können.
Sie müssen keine weiteren Einstellungen vornehmen. Alle zur Verfügung stehenden und erlaubten Befehle von phpMyAdmin sind von uns bereits vorkonfiguriert.
Eine ausführliche Dokumentation über phpMyAdmin finden Sie hier oder auch unter dem Menü-Symbol "Dokumentation" im phpmyadmin oben links. Die englisch-sprachige Referenz über alle Befehle finden Sie hier: https://dev.mysql.com/doc/refman/8.0/en/
Datenbank-Backups
Automatische Backups
STRATO sichert regelmäßig automatisch Ihre Datenbanken. Das erste Backup steht frühestens nach 24 Stunden zur Verfügung.
Um auf das Backup zuzugreifen und es bspw. herunterzuladen, gehen Sie im Menüpunkt Datenbankverwaltung im STRATO Kunden-Login bitte rechts neben Ihrer Datenbank auf Backups anzeigen.
Sie können sich dort über den Punkt Sichern und herunterladen einen temporären Webspace und die Zugangsdaten dazu erstellen lassen, um die Datei anschließend mittels FTP-Programm herunterzuladen. Dieser temporäre Webspace steht nach der Erstellung für 24 Stunden zur Verfügung. Die Zugangsdaten sind auch nur für diesen Zeitraum gültig.
Dazu begleitet Sie auch unser Artikel: Was ist SFTP und wie kann ich es nutzen?
Datenbank sichern (Export)
Datenbank wiederherstellen (Import)
Export via SSH
Dieser Abschnitt erklärt, wie Sie mit dem SSH-Client PuTTY in wenigen Schritten eine Sicherung Ihrer MySQL Datenbank vornehmen können. Der dafür notwendige SSH Zugriff steht in allen aktuellen und in den meisten älteren STRATO Hosting-Paketen zur Verfügung.
Um die Sicherung durchführen zu können, benötigen Sie das Masterpasswort Ihres Paketes, sowie das FreeWare-Programm PuTTY.
Stellen Sie hierfür eine Verbindung mit dem Internet her und starten Sie PuTTY. Bitte tragen Sie als Hostnamen ssh.strato.de ein und verwenden Sie den Port 22. Klicken Sie auf die Schaltfläche Open um die Verbindung zum Server herzustellen.
Nach dem Verbindungsaufbau sind weitere Angaben erforderlich. Tragen Sie als Login-Name eine Domain aus Ihrem Paket ein, z. B. www.wunschname.de. Schließen Sie die Eingabe durch Drücken der [ENTER]-Taste ab.
Als Passwort tragen Sie Ihr Masterpasswort ein, welches Sie im STRATO Kunden-Login vergeben haben. Das Passwort wird bei der Eingabe nicht angezeigt.
Ist die Verbindung erfolgreich aufgebaut, geben Sie nun den folgenden Befehl ein, um den Inhalt der Datenbank in eine Datei zu schreiben:
mysqldump dbs### --add-drop-table -h database-0123456789.webspace-host.com -u BENUTZERNAME -pPASSWORT > backup.sql |
Ersetzen Sie dabei bitte BENUTZERNAME, PASSWORT und dbs### durch die für Ihre Datenbank gültigen Werte. Diese finden Sie in der Datenbankverwaltung in Ihrem STRATO Kunden-Login.
Im oben angegebenen Beispiel wird die Sicherung in der Datei backup.sql im Hauptverzeichnis Ihres Webspace abgelegt. Sie können den Dateinamen bei Bedarf verändern.
Haben Sie eine alte Datenbank mit dem Namen "DB..." und Benutzer "U...", dann läuft der Befehl:
mysqldump DB1234567 --add-drop-table -h database-0123456789.webspace-host.com -u U1234567 -p > backup.sql
auf den Fehler:
*mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespace*
Das liegt an einem Bug bei MySQL selbst, welcher hier nachzulesen ist:
https://dev.mysql.com/doc/
Als Workaround dient der umgeschriebene Befehl:
mysqldump DB1234567 --no-tablespaces -h database-0123456789.webspace-host.com -u U1234567 -p > backup.sql
Import via SSH
Die folgende Befehlszeile schreibt nun den Inhalt der Datei backup.sql in die Datenbank. Die Datei muss sich dazu auf Ihrem Webspace im Hauptverzeichnis befinden.
mysql -h database-0123456789.webspace-host.com -u BENUTZERNAME -pPASSWORT dbs### < backup.sql |
Ersetzen Sie bitte BENUTZERNAME durch Ihren Datenbank-Benutzernamen, PASSWORT durch Ihr Passwort und dbs### durch den Namen der Datenbank, in die Sie importieren möchten.
Enthält Ihr Passwort Sonderzeichen, wie z. B. "!, ?, $" oder ähnlich, lassen Sie PASSWORT bitte einfach weg und führen den Befehl aus. Sie werden automatisch nach dem Passwort gefragt und können es dann direkt eingeben. Der Befehl sieht dann so aus:
BEFEHL: mysql -h database-0123456789.webspace-host.com -u BENUTZERNAME -p dbs### < backup.sql AUSGABE: Enter password: |
Bitte beachten Sie: Steht Ihnen ein komprimiertes Datenbank-Backup mit dem Dateinamen backup.sql.gz zur Verfügung, muss dieses vorher entpackt werden. Geben Sie dazu bitte folgenden Befehl ein:
gunzip backup.sql.gz |
Ersetzen Sie bitte backup.sql.gz mit dem Dateinamen, welcher sich auf Ihrem Webspace befindet.
Alternative Rücksicherung mit MySQLDumper
Ist die Sicherungsdatei größer als 64MB, benötigen Sie SSH, ansonsten hilft bspw. die folgende Softwarelösung. Mysqldumper kann den Sicherungsstand vor Erreichen der Größen- und/oder Zeitbeschränkung zwischenspeichern und nach automatischem Neustart wieder aufnehmen.
Download: MySQLDumper
Nachdem Sie die Installation, sowie die Konfiguration von mysqldumper abgeschlossen haben, klicken Sie bitte auf der linken Seite auf den Menüpunkt Verwaltung.
Anschließend klicken Sie auf die Schaltfläche Durchsuchen.. (1), um Ihre Sicherungsdatei auszuwählen, welche für die Rücksicherung verwendet werden soll. Nach der Auswahl, klicken Sie rechts daneben auf die Schaltfläche Datei hochladen. Sie erkennen durch den im Punkt (2) markierten Bereich, ob das Hochladen der Datei erfolgreich durchgeführt wurde.
Klicken Sie nun auf der linken Seite im Menü auf den Punkt Wiederherstellung (1) und anschließend auf den Link Dateien anderer Programme (2). Dadurch haben Sie nun die Möglichkeit, die soeben hochgeladene Sicherungsdatei backup.sql (3) auszuwählen. Abschließend klicken Sie oben auf die Schaltfläche Wiederherstellen (4).
Nun wird mit dem nächsten Dialogfenster um Bestätigung gebeten, dass die Inhalte der Sicherungsdatei mit der ausgewählten Datenbank wiederhergestellt werden.
Beim letzten Schritt vor der Wiederherstellung haben Sie nun die Möglichkeit die Kodierung der Sicherungsdatei auszuwählen (1), falls Sie nicht die Standardkodierung genutzt haben. Letztendlich starten Sie die Wiederherstellung durch betätigen der Schaltfläche Wiederherstellen (2).
Der Fortschritt der Wiederherstellung wird ausgewiesen und nach Abschluss des Wiederherstellungsprozesses wird Ihnen vom Programm gratuliert und Sie erhalten die Information, dass die Datenbank komplett wiederhergestellt wurde.
Speicherplatzbegrenzung bei Datenbanken
Wenn eine Datenbank die maximale Größe von 2 GB erreicht hat, wird Ihnen im STRATO Kunden-Login in Ihrer Datenbankverwaltung ein Warnzeichen neben der betreffenden Datenbank angezeigt:
Klicken Sie rechts neben der Datenbank auf PhpMyAdmin starten.
In der Verwaltung des phpmyadmin können Sie unter dem Punkt Struktur alle Dateien sehen, die in der Datenbank liegen. Hier können Sie alle Dateien, die Sie nicht mehr benötigen bzw. veraltet sind, löschen.
Wählen Sie in der Tabelle den entsprechenden Ordner, den Sie nicht mehr benötigen (z.B. Archiv) und klicken Sie in der entsprechenden Spalte auf Löschen.Sobald Sie Ihre nicht mehr benötigten Dateien gelöscht haben, müssen Sie noch die Tabelle optimieren. Verfahren Sie dazu bitte, wie im folgenden Absatz beschrieben.
Performance der Datenbank optimieren
Zur Verbesserung und Erhaltung der Datenbank-Performance empfehlen wir Ihnen, in regelmäßigen Abständen Ihre Datenbank-Tabellen zu optimieren. Dazu raten wir vor allem dann, wenn Sie umfangreiche Teile einer Tabelle gelöscht oder viele Änderungen an einer Tabelle mit Datensätzen variabler Länge (z. B. VARCHAR-, TEXT-Spalten, etc.) vorgenommen haben.
Zur Optimierung klicken Sie in Ihrem Paket bitte auf der linken Seite auf die Menüpunkte Datenbanken und Webspace und Datenbankverwaltung. Im rechten Hauptfenster erscheint dann eine Übersichtsseite mit Ihren angelegten Datenbanken. Über das 3-Punkte-Menü und die Schaltfläche PhpMyAdmin starten gelangen Sie in die phpMyAdmin-Oberfläche.
Scrollen Sie ganz nach unten und klicken Sie auf Alle auswählen, um alle Tabellen auszuwählen. Wählen Sie im Pull-Down-Menü abschließend Optimiere Tabelle. Ihre Datenbank wird nun automatisch optimiert.
Eine gelöschte Datenbank wieder anlegen
Sie erfahren in diesem Abschnitt, wie Sie Datenbanken wiederherstellen können, die mit dem Befehl drop database
per SSH oder Skript gelöscht wurden.
Eine Datenbank kann in dem Fall nur wiederhergestellt werden, wenn:
- Die Löschung über ein PHP-Skript erfolgte.
- Die Löschung per SSH erfolgte.
Datenbank kann NICHT wiederhergestellt werden, wenn:
- Die Löschung im STRATO Kunden-Login erfolgte.
Sie benötigen zum Anlegen der Datenbank lediglich Ihren Domainnamen, Ihr Masterpasswort, den Datenbanknamen, sowie einen SSH-Client, z.B. PuTTY.
Stellen Sie im folgenden Schritt die SSH-Verbindung zu dem Auftrag her, indem sich die Datenbank befunden hat.
Haben Sie den Login erfolgreich hergestellt, verwenden Sie bitte den folgenden Befehl (1):
mysql -h database-0123456789.webspace-host.com -u [Benutzername] –p |
Geben Sie nun Ihr verwendetes Datenbankpasswort ein (2). Es erscheint mysql> unter PuTTY. Fahren Sie mit folgendem Befehl fort (3):
create database [Datenbankname]; |
Die Datenbank wurde nun wieder angelegt und ist über phpmyadmin erreichbar.
Wie migriere ich meine Datenbank auf die aktuelle Version?
Da neue Datenbanken automatisch mit der aktuellen Version angelegt werden, verfolgen wir nur bereits oben beschriebene Schritte:
- Export der alten Datenbank
- Anlegen einer neuen Datenbank
- Import der zuvor exportierten Sicherungsdatei in die neue Datenbank
Sie können bspw. die Inhalte einer MySQL-Datenbank Version 5.x in eine MySQL-Datenbank Version 8.x übernehmen.
Wichtig: Vor dem Erstellen eines Backups Ihrer MySQL-Datenbank 5.x und dem anschließenden zurücksichern in Ihre MySQL-Datenbank 8.x, beachten Sie bitte, dass einige Spalten- und / oder Tabellennamen in MySQL 5 bzw. 8 verboten sind.
Bitte beachten Sie zudem, dass Sie auch in den entsprechende .php-Dateien die Änderungen für die neue Datenbank vornehmen, da diese sonst nicht funktioniert.
Beispiel: Die .php Datei, in der die Konfigurationseinstellungen für die Datenbank gespeichert sind lautet: data.php
Folgende Einstellungen müssen geändert verändert werden:
- Username und Passwort (sofern Sie das Passwort geändert haben) zum Einloggen in den Datenbankserver
- Name der Datenbank
Wenn Sie ein aktuelles Hosting Paket haben, dann sieht bei Ihnen der
Datenbankname: dbs####### und der
Benutzername: dbu####### so aus.
Nachdem Sie die Funktionalität Ihrer Webseite mit der neuen Datenbank getestet haben, können Sie die alte Datenbank über den Kunden-Login löschen. Vergessen Sie dabei nicht, die neuen Datenbankinformationen für Ihre Installation zu ergänzen. Wie das gelingt, erklären wir Ihnen anhand des Beispiels WordPress.
https://www.strato.de/faq/hosting/Was-ist-WordPress-und-wie-kann-ich-es-installieren/
Beispiel: Konfiguration Wordpress-Datenbank
Suchen Sie im Installations-Verzeichnis (Webspace) nach einer Datei namens wp-config.php:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', '[name_of_your_database]');
/** MySQL database username */
define('DB_USER', '[username_for_your_database]');
/** MySQL database password */
define('DB_PASSWORD', '[password_for_your_database]');
/** MySQL hostname */
define('DB_HOST', 'database-0123456789.webspace-host.com:');
Der DB_Host bleibt dabei gleich, die drei oberen Einträge müssen durch die neuen Datenbankinformationen ausgetauscht werden.
Troubleshooting
PhpMyAdmin schlägt fehl? Nutzen Sie SSH!
Sofern der Ex-/Import via PhpMyAdmin fehlschlägt, müssen Sie auf SSH wechseln. Weiter oben beschreiben wir Ihnen den Umgang mit SSH und auch mit der Software MySQLDumper.
Häufige Fehler/Fragen
ERROR 1118 (42000) at line xxx: row size too large
→ InnoDB tables that are no longer valid due to the WaaS database having InnoDB strict mode enabled. Here you have to update the table definitions and try again.
Siehe https://mariadb.com/kb/en/troubleshooting-row-size-too-large-errors-with-innodb/
ERROR 1416 (22003) at line 123: Cannot get geometry object from data you send to the GEOMETRY field
→ Spatial data may be corrupt. Fix or remove it.
Siehe https://wordpress.org/support/topic/cant-migrate-data-table-due-to-corruption/
Wie kann ich die "Table Definitions" updaten?
https://mariadb.com/kb/en/troubleshooting-row-size-too-large-errors-with-innodb/
Wie repariert man die Spatial Data? Was kann passieren, wenn man diese löscht?
https://wordpress.org/support/topic/cant-migrate-data-table-due-to-corruption/
Was, wenn ich alle Schritte durchgegangen bin und dennoch einen der obigen Fehler erhalte?
Bitte kontaktieren Sie uns in dem Fall.
Für andere Fehlermeldungen können Sie die offizielle MySQL Dokumentation nutzen:
https://dev.mysql.com/doc/refman/5.7/en/
https://dev.mysql.com/doc/refman/8.0/en/
Einschränkungen
Einschränkungen gibt es nur zu Ihrer eigenen Sicherheit:MySQL unterstützt derzeit einen Teil des SQL-Standards. Einschränkungen bestehen bezüglich folgender Punkte:
- Verschachtelte Abfragen nach dem Muster "SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);" sind nicht möglich
- SELECT... INTO TABLE ist nicht möglich
Wenn Sie ein aktuelles Hosting Paket haben, dann sieht bei Ihnen der
Datenbankname: dbs####### und der
Benutzername: dbu####### so aus.
Wenn Sie ein aktuelles Hosting Paket haben, dann sieht bei Ihnen der
Datenbankname: dbs####### und der
Benutzername: dbu####### so aus.