Viele Websites und Webanwendungen speichern ihre Inhalte nicht ausschließlich in Dateien, sondern zusätzlich in einer Datenbank. Dazu gehören beispielsweise Content-Management-Systeme, Shopsysteme, Foren und zahlreiche andere PHP-Anwendungen.
In cPanel kannst du MySQL-kompatible Datenbanken direkt über die grafische Benutzeroberfläche erstellen und verwalten.
In dieser Anleitung zeigen wir dir Schritt für Schritt, wie du bei CURIAWEB eine neue Datenbank erstellst, den vollständigen Datenbanknamen erkennst und welche weiteren Schritte notwendig sind, bevor eine Anwendung auf die Datenbank zugreifen kann.
Wichtig: Eine neu erstellte Datenbank besitzt nicht automatisch einen Benutzer, der darauf zugreifen darf. Datenbank, Datenbankbenutzer und Benutzerrechte sind drei unterschiedliche Bestandteile.
Was ist eine MySQL-Datenbank? #
Eine Datenbank speichert strukturierte Informationen, die von einer Website oder Anwendung gelesen und verändert werden können.
Bei WordPress befinden sich beispielsweise Beiträge, Seiten, Einstellungen und viele weitere Informationen in der Datenbank, während Bilder, Themes, Plugins und PHP-Dateien im Dateisystem gespeichert werden.
Eine vollständige Website kann deshalb sowohl aus Dateien als auch aus einer Datenbank bestehen.
Kurz erklärt: Die Website-Dateien enthalten unter anderem den Programmcode und hochgeladene Dateien. Die Datenbank enthält strukturierte Inhalte und Einstellungen der Anwendung. Bei vielen Webanwendungen werden beide Bestandteile benötigt.
Datenbank und Datenbankbenutzer nicht verwechseln #
Für den Zugriff einer Anwendung auf eine Datenbank werden normalerweise mehrere Bestandteile benötigt:
- eine Datenbank
- ein Datenbankbenutzer
- ein Passwort für diesen Benutzer
- die erforderlichen Berechtigungen des Benutzers für die Datenbank
- der Datenbankserver beziehungsweise Hostname
Du kannst dir die Trennung vereinfacht so vorstellen:
Datenbank
↓
enthält die Daten
Datenbankbenutzer
↓
meldet sich an
Berechtigungen
↓
bestimmen, was der Benutzer in der Datenbank darf
Nur eine Datenbank zu erstellen, genügt deshalb für eine manuell eingerichtete Anwendung normalerweise noch nicht.
Wann musst du eine Datenbank manuell erstellen? #
Eine manuelle Datenbank kann beispielsweise erforderlich sein, wenn du:
- eine Webanwendung manuell installierst
- eine bestehende Website manuell auf den Server überträgst
- eine Datenbank aus einer Sicherung importieren möchtest
- eine eigene PHP-Anwendung betreibst
- eine zusätzliche Datenbank für ein Projekt benötigst
Bei automatischen Installationen kann die benötigte Datenbank dagegen von der Installationssoftware selbst angelegt werden.
Bei automatischen Installationen nicht unnötig vorher eine Datenbank erstellen #
Wenn du eine Anwendung über einen automatischen Installer einrichtest, solltest du zuerst prüfen, ob dieser die Datenbank selbst erstellt.
Bei einer automatisierten Installation kann das manuelle Anlegen einer zusätzlichen Datenbank unnötig sein.
Wie der Softaculous Apps Installer verwendet wird, behandeln wir später unter Softaculous Apps Installer in cPanel verwenden.
1. Bei cPanel anmelden #
Melde dich bei deinem CURIAWEB-cPanel an.
Öffne anschließend den Bereich:
Datenbanken
Hier findest du die Werkzeuge zur Verwaltung deiner Datenbanken.
2. Datenbankverwaltung öffnen #
Öffne unter Datenbanken die Funktion zur Verwaltung deiner MySQL-kompatiblen Datenbanken.
Im CURIAWEB-cPanel findest du hierfür:
Manage My Databases
Über diese Oberfläche kannst du vorhandene Datenbanken und Datenbankbenutzer verwalten sowie neue Datenbanken anlegen.
Hinweis: Die genaue Beschriftung einzelner Schaltflächen kann sich abhängig von der cPanel-Version beziehungsweise Spracheinstellung geringfügig unterscheiden. Die grundlegende Funktionsweise bleibt gleich.
3. Namen für die neue Datenbank festlegen #
Suche den Bereich zum Erstellen einer neuen Datenbank.
Gib dort einen aussagekräftigen Namen ein.
Für eine Website könntest du beispielsweise einen Namen wie:
wordpress
oder:
shop
verwenden.
Der Name sollte dir später helfen zu erkennen, zu welcher Anwendung oder Website die Datenbank gehört.
Keine vertraulichen Informationen im Datenbanknamen verwenden #
Verwende im Datenbanknamen keine Passwörter, Zugangsdaten oder andere vertrauliche Informationen.
Ein Datenbankname dient lediglich der Identifikation und ist kein Sicherheitsmechanismus.
4. Vollständigen Datenbanknamen beachten #
cPanel kann dem von dir gewählten Datenbanknamen automatisch ein Präfix des Hosting-Accounts voranstellen.
Wenn dein Account-Präfix beispielsweise:
kunde
lautet und du als Datenbanknamen:
shop
eingibst, kann der vollständige Datenbankname beispielsweise so aussehen:
kunde_shop
Wichtig: Für die Konfiguration einer Anwendung benötigst du den vollständigen Datenbanknamen, wie er anschließend in cPanel angezeigt wird – nicht nur den von dir eingegebenen Teil.
Warum verwendet cPanel ein Präfix? #
Das Präfix hilft dabei, Datenbanken einem bestimmten Hosting-Account zuzuordnen und Namen innerhalb der Serverumgebung eindeutig zu halten.
Je nach Serverkonfiguration kann die genaue Darstellung variieren.
Orientiere dich deshalb immer am vollständigen Namen, den dein eigenes cPanel anzeigt.
5. Datenbank erstellen #
Kontrolliere den eingegebenen Namen und erstelle anschließend die Datenbank.
cPanel bestätigt die erfolgreiche Erstellung.
Kehre danach zur Datenbankverwaltung zurück.
6. Prüfen, ob die Datenbank vorhanden ist #
Nach dem Erstellen sollte die neue Datenbank in der Liste der vorhandenen Datenbanken erscheinen.
Kontrolliere den vollständigen Datenbanknamen.
Beispielsweise:
kunde_shop
Diesen Namen solltest du für die spätere Konfiguration der Anwendung verwenden.
Die Datenbank ist jetzt noch leer #
Eine neu erstellte Datenbank enthält zunächst keine Tabellen deiner Website oder Anwendung.
Die Tabellen werden entweder:
- von der Anwendung während der Installation erstellt
- durch ein Installationsprogramm angelegt
- oder aus einer bestehenden SQL-Sicherung importiert
Kurz erklärt: Das Erstellen einer Datenbank erzeugt zunächst den Datenbank-Container. Die eigentlichen Tabellen und Inhalte kommen erst durch die Anwendung oder einen Import hinzu.
7. Datenbankbenutzer erstellen #
Damit eine manuell installierte Anwendung auf die Datenbank zugreifen kann, benötigst du normalerweise zusätzlich einen Datenbankbenutzer.
Dieser Benutzer erhält einen eigenen Benutzernamen und ein eigenes Passwort.
Die vollständige Vorgehensweise behandeln wir im nächsten Artikel unter MySQL-Benutzer erstellen und einer Datenbank zuweisen.
Wichtig: Verwende nicht einfach deine cPanel-Zugangsdaten als Datenbankzugang. Datenbankbenutzer werden separat verwaltet.
8. Datenbankbenutzer der Datenbank zuweisen #
Auch ein vorhandener Datenbankbenutzer kann nicht automatisch auf jede Datenbank deines Hosting-Accounts zugreifen.
Der Benutzer muss der gewünschten Datenbank zugewiesen werden.
Dabei werden gleichzeitig die Berechtigungen festgelegt, die dieser Benutzer innerhalb der Datenbank erhält.
Vereinfacht sieht die vollständige Konfiguration so aus:
Datenbank erstellen
↓
Datenbankbenutzer erstellen
↓
Benutzer der Datenbank zuweisen
↓
Berechtigungen vergeben
↓
Zugangsdaten in der Anwendung eintragen
Welche Berechtigungen benötigt eine Anwendung? #
Das hängt von der jeweiligen Anwendung ab.
Viele Content-Management-Systeme benötigen während des normalen Betriebs umfangreiche Rechte auf ihrer eigenen Datenbank, damit sie Tabellen lesen, Inhalte speichern und bei Aktualisierungen gegebenenfalls die Datenbankstruktur verändern können.
Vergib Rechte jedoch nicht pauschal für Datenbanken, auf die eine Anwendung keinen Zugriff benötigt.
Ein Benutzer muss nicht auf alle Datenbanken zugreifen #
Wenn mehrere Websites innerhalb eines Hosting-Accounts betrieben werden, kann es sinnvoll sein, für unterschiedliche Anwendungen getrennte Datenbankbenutzer zu verwenden.
Beispielsweise:
Website A
→ Datenbank A
→ Datenbankbenutzer A
Website B
→ Datenbank B
→ Datenbankbenutzer B
Dadurch erhält eine Anwendung nicht unnötig Zugriff auf die Datenbank einer anderen Website.
9. Datenbankdaten für die Anwendung bereithalten #
Bei einer manuellen Installation fragt eine Anwendung typischerweise nach mehreren Datenbankinformationen.
Dazu gehören beispielsweise:
| Angabe | Bedeutung |
|---|---|
| Datenbankname | Vollständiger Name der Datenbank |
| Datenbankbenutzer | Vollständiger Benutzername |
| Passwort | Passwort des Datenbankbenutzers |
| Datenbankhost | Server beziehungsweise Hostname der Datenbank |
Verwende die für deinen Hosting-Account vorgesehenen Werte.
Was ist der Datenbankhost? #
Eine Anwendung benötigt neben Datenbankname, Benutzername und Passwort auch die Adresse des Datenbankservers.
Bei vielen Webhosting-Konfigurationen befindet sich der Datenbankdienst auf demselben Server beziehungsweise wird lokal angesprochen. Häufig begegnet dir deshalb:
localhost
Das ist jedoch kein Wert, den du für jede beliebige Hosting-Umgebung ungeprüft übernehmen solltest.
Wichtig: Verwende den Datenbankhost, der für deinen konkreten Hosting-Account beziehungsweise die betreffende Anwendung vorgesehen ist.
Datenbankname und Datenbankhost nicht verwechseln #
Der Datenbankname bezeichnet die konkrete Datenbank, beispielsweise:
kunde_shop
Der Datenbankhost bezeichnet dagegen den Server beziehungsweise Dienst, über den die Anwendung auf die Datenbank zugreift.
Das sind zwei unterschiedliche Angaben.
10. Datenbank mit phpMyAdmin kontrollieren #
Wenn du die neu erstellte Datenbank genauer ansehen möchtest, kannst du dafür phpMyAdmin verwenden.
Öffne in cPanel:
Datenbanken → phpMyAdmin
Dort kannst du die für deinen Hosting-Account verfügbaren Datenbanken und deren Tabellen einsehen.
Eine ausführliche Anleitung folgt unter phpMyAdmin in cPanel verwenden.
Neue Datenbank erscheint in phpMyAdmin, enthält aber keine Tabellen #
Das ist unmittelbar nach der Erstellung normal.
Eine neue Datenbank ist zunächst leer.
Tabellen entstehen erst, wenn eine Anwendung diese erstellt oder du bestehende Daten importierst.
Bestehende SQL-Datei in die Datenbank importieren #
Wenn du eine bestehende Website beziehungsweise Anwendung überträgst, besitzt du möglicherweise bereits eine SQL-Datei mit den Datenbankinhalten.
Diese kannst du in die neu erstellte Datenbank importieren.
Die Vorgehensweise behandeln wir unter Datenbank mit phpMyAdmin importieren.
Achtung: Prüfe vor einem Import immer, ob du die richtige Zieldatenbank ausgewählt hast. Ein SQL-Import kann bestehende Tabellen anlegen, verändern oder – abhängig vom Inhalt der SQL-Datei – auch löschen beziehungsweise ersetzen.
Datenbank einer bestehenden Website nicht auf Verdacht löschen #
Wenn du in cPanel mehrere Datenbanken siehst und nicht weißt, welche davon noch verwendet wird, solltest du keine davon auf Verdacht löschen.
Eine aktive Website kann vollständig von dieser Datenbank abhängig sein.
Das Löschen der falschen Datenbank kann dazu führen, dass die Website nicht mehr funktioniert oder ihre Inhalte verliert.
Wie finde ich heraus, welche Datenbank eine Website verwendet? #
Die Datenbankzugangsdaten werden bei vielen Anwendungen in einer Konfigurationsdatei gespeichert.
Bei WordPress befindet sich der Datenbankname beispielsweise normalerweise in:
wp-config.php
Dort findest du unter anderem die Konfiguration für:
DB_NAME
Der dort hinterlegte Wert zeigt, welche Datenbank die WordPress-Installation verwendet.
Achtung: Die Datei
wp-config.phpenthält sensible Zugangsdaten. Veröffentliche ihren Inhalt nicht und ändere die Werte nicht auf Verdacht.
Konfigurationsdateien sicher bearbeiten #
Wenn du bei einer manuellen Installation Datenbankzugänge in einer Konfigurationsdatei eintragen musst, erstelle vor Änderungen eine Sicherung der vorhandenen Datei.
Wie du Dateien sicher bearbeitest, erklären wir unter Dateien in cPanel hochladen, herunterladen und bearbeiten.
„Error establishing a database connection“ nach manueller Einrichtung #
Wenn eine Anwendung keine Verbindung zur Datenbank herstellen kann, solltest du die Datenbank nicht sofort löschen und neu erstellen.
Prüfe zuerst:
- vollständigen Datenbanknamen
- vollständigen Datenbankbenutzer
- Passwort des Datenbankbenutzers
- Datenbankhost
- ob der Benutzer der Datenbank zugewiesen wurde
- ob der Benutzer die erforderlichen Rechte besitzt
Gerade die fehlende Zuweisung des Benutzers zur Datenbank ist bei manuellen Installationen ein häufiger Konfigurationsfehler.
„Access denied“ bei der Datenbankverbindung #
Eine Meldung mit Access denied kann darauf hinweisen, dass die Anmeldung beziehungsweise Berechtigung für die Datenbank nicht akzeptiert wird.
Prüfe in diesem Fall insbesondere:
- Datenbankbenutzer
- Passwort
- Zuweisung zur Datenbank
- vergebene Benutzerrechte
- Datenbankhost
Erstelle nicht sofort eine neue Datenbank. Häufig liegt das Problem in den Zugangsdaten oder der Benutzerzuweisung.
„Unknown database“ oder Datenbank nicht gefunden #
Wenn eine Anwendung meldet, dass die angegebene Datenbank nicht existiert, solltest du den vollständigen Datenbanknamen kontrollieren.
Ein häufiger Fehler besteht darin, nur den selbst vergebenen Namensbestandteil einzutragen.
Statt:
shop
kann beispielsweise der vollständige Name:
kunde_shop
erforderlich sein.
Datenbankname nachträglich ändern? #
Wenn eine Anwendung bereits mit einer bestimmten Datenbank konfiguriert wurde, solltest du deren Namen nicht unüberlegt verändern beziehungsweise eine neue Datenbank unter einem anderen Namen erstellen und erwarten, dass die Anwendung automatisch darauf zugreift.
Die Anwendung verwendet den Datenbanknamen, der in ihrer Konfiguration hinterlegt ist.
Änderungen müssen deshalb mit der Anwendungskonfiguration abgestimmt werden.
Leere Datenbank und bestehende Datenbank unterscheiden #
Vor einem Import solltest du genau wissen, ob die Zieldatenbank leer ist oder bereits produktive Tabellen enthält.
Eine neu erstellte leere Datenbank ist für eine Migration häufig einfacher zu beurteilen als eine Datenbank, in der bereits andere Daten vorhanden sind.
Kontrolliere den Inhalt gegebenenfalls vorher in phpMyAdmin.
Datenbank vor größeren Änderungen sichern #
Bevor du Tabellen löschst, größere SQL-Befehle ausführst oder eine bestehende Datenbank überschreibst, solltest du eine aktuelle Sicherung besitzen.
Wie du eine Datenbank über phpMyAdmin exportierst, erklären wir unter Datenbank mit phpMyAdmin exportieren.
Grundregel: Bei einer produktiven Datenbank gilt: erst sichern, dann verändern.
Datenbank nicht mit Website-Verzeichnis verwechseln #
Eine Datenbank ist kein Ordner im Dateimanager.
Du findest eine MySQL-Datenbank deshalb nicht als normales Verzeichnis unter:
public_html
Die Verwaltung erfolgt über die Datenbankfunktionen in cPanel beziehungsweise über Werkzeuge wie phpMyAdmin.
Datenbank nicht per FTP herunterladen #
Eine Datenbank wird ebenfalls nicht automatisch heruntergeladen, wenn du sämtliche Website-Dateien per FTP sicherst.
Bei einer datenbankbasierten Website benötigst du für eine vollständige manuelle Sicherung zusätzlich einen Datenbankexport beziehungsweise eine geeignete Backup-Lösung.
Eine Datenbank pro Website? #
Viele Webanwendungen verwenden eine eigene Datenbank. Das erleichtert die Zuordnung und verhindert, dass Daten verschiedener Anwendungen unnötig vermischt werden.
Technisch können bestimmte Anwendungen zwar Tabellen innerhalb derselben Datenbank voneinander unterscheiden, für getrennte Websites ist eine saubere Trennung jedoch häufig übersichtlicher.
Welche Struktur sinnvoll ist, hängt von der verwendeten Anwendung und dem konkreten Projekt ab.
Aussagekräftige Datenbanknamen verwenden #
Wenn dein Hosting-Account mehrere Projekte enthält, helfen verständliche Namen bei der späteren Verwaltung.
Statt:
db1
db2
db3
sind projektbezogene Bezeichnungen häufig leichter zuzuordnen.
Verwende dabei weiterhin keine vertraulichen Informationen.
Datenbankbenutzer nicht unnötig gemeinsam verwenden #
Wenn mehrere voneinander unabhängige Anwendungen vorhanden sind, ist es aus Sicherheits- und Verwaltungsgründen sinnvoll, deren Datenbankzugänge sauber zu trennen.
Wird ein Datenbankpasswort später geändert oder ein Benutzer entfernt, betrifft dies dann nicht unnötig mehrere unabhängige Anwendungen.
Passwort des Datenbankbenutzers sicher aufbewahren #
Das Datenbankpasswort ist eine sensible Zugangsinformation.
Speichere es nicht in öffentlich erreichbaren Dateien, Supportbeiträgen oder frei zugänglichen Notizen.
Bei einer Webanwendung muss das Passwort zwar technisch in deren geschützter Konfiguration verfügbar sein, diese Konfigurationsdatei darf jedoch nicht öffentlich als Klartext ausgeliefert werden.
Remote-Zugriff ist ein separates Thema #
Das Erstellen einer Datenbank und eines Datenbankbenutzers bedeutet nicht automatisch, dass sich beliebige externe Computer direkt mit dem Datenbankserver verbinden dürfen.
Für externe Datenbankverbindungen existiert in cPanel die separate Funktion:
Remote Database Access
Für eine normale Website, die auf demselben Hosting-System betrieben wird, musst du diese Funktion normalerweise nicht allein deshalb aktivieren, weil die Website eine Datenbank verwendet.
Sicherheit: Erlaube keinen externen Datenbankzugriff, wenn er für deine Anwendung nicht benötigt wird.
Database Wizard als Alternative #
Im CURIAWEB-cPanel steht zusätzlich der Database Wizard zur Verfügung.
Dieser führt schrittweise durch das Erstellen einer Datenbank, eines Benutzers und die anschließende Zuweisung der Berechtigungen.
Das kann besonders praktisch sein, wenn du eine neue Datenbank samt neuem Benutzer in einem zusammenhängenden Ablauf einrichten möchtest.
Über Manage My Databases kannst du dagegen bestehende Datenbanken und Benutzer gezielter verwalten.
Empfohlener Ablauf für eine neue manuelle Anwendung #
- Melde dich bei cPanel an.
- Öffne Datenbanken → Manage My Databases.
- Vergib einen eindeutigen Datenbanknamen.
- Erstelle die Datenbank.
- Notiere den vollständigen Datenbanknamen.
- Erstelle einen separaten Datenbankbenutzer.
- Vergib ein starkes Passwort.
- Weise den Benutzer der richtigen Datenbank zu.
- Vergib die für die Anwendung erforderlichen Rechte.
- Trage die vollständigen Datenbankdaten in der Anwendung ein.
- Teste die Datenbankverbindung.
Empfohlener Ablauf bei einer Website-Migration #
- Erstelle die benötigte Datenbank.
- Erstelle den Datenbankbenutzer.
- Weise ihn der Datenbank mit den benötigten Rechten zu.
- Importiere die vorhandene SQL-Sicherung in die richtige Datenbank.
- Passe die Datenbankzugangsdaten der Website an.
- Teste die Website.
- Prüfe bei einem Verbindungsfehler zuerst Name, Benutzer, Passwort, Host und Berechtigungen.
Wichtig: Lösche die Datenbank am bisherigen Standort nicht, bevor die Migration vollständig geprüft wurde und eine geeignete Sicherung vorhanden ist.
Wann solltest du den Support kontaktieren? #
Wenn eine Datenbank erstellt wurde, die Anwendung aber keine Verbindung herstellen kann, solltest du die konkrete Fehlermeldung notieren.
Für eine Analyse sind insbesondere folgende Angaben hilfreich:
- betroffene Domain beziehungsweise Anwendung
- vollständiger Datenbankname
- vollständiger Datenbankbenutzer
- verwendeter Datenbankhost
- ob der Benutzer der Datenbank zugewiesen wurde
- welche Berechtigungen vergeben wurden
- genaue Fehlermeldung
- ob es sich um eine Neuinstallation oder Migration handelt
Übermittle dabei nicht das Datenbankpasswort.
Zusammenfassung #
Eine neue MySQL-kompatible Datenbank erstellst du im CURIAWEB-cPanel unter Datenbanken → Manage My Databases.
Vergib einen aussagekräftigen Namen und beachte den vollständigen Datenbanknamen, den cPanel anschließend anzeigt. Durch ein automatisch verwendetes Account-Präfix kann dieser beispielsweise die Form kunde_shop besitzen.
Die neu erstellte Datenbank ist zunächst leer und besitzt nicht automatisch einen Benutzer mit Zugriffsrechten. Für eine manuell eingerichtete Anwendung musst du deshalb normalerweise zusätzlich einen Datenbankbenutzer erstellen, diesen der Datenbank zuweisen und die erforderlichen Berechtigungen vergeben.
Bei einer bestehenden Website solltest du niemals eine unbekannte Datenbank auf Verdacht löschen. Prüfe zuerst, welche Datenbank von der Anwendung tatsächlich verwendet wird, und erstelle vor größeren Änderungen oder Importen eine aktuelle Sicherung.