Datenbank anlegen: Schritt-für-Schritt-Anleitung

 

Die Dateien der Galerie liegen per FTP auf deinem Webspace, du rufst den Installer auf, und im Formular stehen vier Felder, die du noch nicht füllen kannst: Server, Name, Benutzer und Passwort einer Datenbank. Genau hier legen viele eine Pause ein. Dabei fehlt nur ein Zwischenschritt im Kundenmenü deines Webhosters, der selten länger als fünf Minuten dauert. Diese Anleitung zeigt, wie du die Datenbank anlegen kannst, ohne eine Zeile SQL zu schreiben, was du vorher mit deinem Hosting-Paket klären solltest und woran du merkst, dass ein Wert nicht stimmt.

Datenbank anlegen im Hosting-Menü: Ein Klick auf das Plus erzeugt eine neue Datenbank, daneben ein Notizblock für die Zugangsdaten

Was in der Datenbank landet und was im Ordner bleibt

Die Fotos selbst wandern nie in die Datenbank. Lädst du eine Kategorie „Herbst“ mit 40 Bildern hoch, liegen die 40 JPEG-Dateien im Ordner bilder/herbst/ und ihre verkleinerten Kopien in bilder/tn/. In der Datenbank entsteht dafür eine einzige Zeile mit Name, Ordnername und Beschreibung der Kategorie sowie 40 kurze Zeilen, je eine pro Foto: Dateiname, Zeitpunkt des Hochladens, wer es hochgeladen hat und die Bildbeschreibung. Mehr steht dort nicht. Eine solche Zeile ist meist nur einige hundert Byte groß, ein Foto dagegen mehrere Megabyte. Selbst eine Galerie mit ein paar tausend Bildern belegt in der Datenbank deshalb nur wenige Megabyte, und auch die kleinste Datenbank eines Einstiegstarifs reicht dafür aus.

Die Reihenfolge der Bilder steckt übrigens nicht in einer eigenen Spalte. Die Galerie zeigt Kategorien und Fotos in der Reihenfolge, in der du sie angelegt oder hochgeladen hast. Wer eine bestimmte Abfolge möchte, lädt die Bilder in dieser Abfolge hoch.

Vier Punkte, die du vorher klären solltest

Bevor du im Kundenmenü auf „Neu“ klickst, lohnt ein Blick in die Leistungsbeschreibung deines Tarifs. Drei der folgenden Punkte beantwortet sie, der vierte betrifft deine eigene Ablage:

  • Wie viele Datenbanken sind enthalten? Günstige Einstiegstarife erlauben manchmal nur eine oder gar keine. Belegt dein Blog schon die einzige, brauchst du einen größeren Tarif oder legst die Galerie mit in diese Datenbank (die Bedingungen dafür stehen in den Fragen unten).
  • Welche Version läuft? Die Galerie braucht MySQL 5.7 oder MariaDB 10.2 oder neuer. Die Versionsnummer steht meist direkt in der Datenbankübersicht oder in phpMyAdmin auf der Startseite.
  • Vergibt der Hoster die Namen selbst? Viele Anbieter setzen eine Kundennummer vor jeden Namen oder erzeugen Name und Benutzer komplett automatisch. Dann tippst du „galerie“ ein und erhältst web123_galerie.
  • Wohin kommt das Passwort? Manche Kundenmenüs zeigen ein erzeugtes Passwort nur ein einziges Mal an. Lege dir deshalb vorher einen Platz dafür zurecht, etwa einen Passwortmanager oder ein ausgedrucktes Blatt bei den Vertragsunterlagen.

Datenbank anlegen in fünf Schritten

Die Knöpfe heißen bei jedem Anbieter etwas anders, doch wer bei einem Hoster eine Datenbank anlegen kann, findet sich auch beim nächsten zurecht. Halte beim Durchklicken ein Textdokument offen und kopiere jeden Wert sofort hinein, statt ihn später aus dem Gedächtnis abzutippen.

  1. Im Kundenmenü anmelden und den Bereich für Datenbanken öffnen. Er heißt je nach Anbieter „Datenbanken“, „MySQL-Datenbanken“ oder „MySQL & MariaDB“.
  2. Eine neue Datenbank erstellen und einen sprechenden Namen eintragen, etwa „galerie“ oder „fotos“. Was der Hoster daraus macht, notierst du genau so, wie es danach in der Liste steht.
  3. Einen Benutzer für diese Datenbank anlegen oder den automatisch erzeugten übernehmen. Nimm nicht das Hauptkonto deines Kundenmenüs, sondern einen eigenen Benutzer nur für die Galerie.
  4. Ein Passwort vergeben, am besten mit dem Passwort-Generator des Hosters, und es sofort kopieren.
  5. Den Benutzer der Datenbank zuordnen und ihm alle Rechte geben. Bei manchen Oberflächen geschieht das automatisch, bei anderen ist es ein eigener Schritt, den man leicht übersieht.

In den drei verbreitetsten Oberflächen sehen diese Schritte so aus:

  • Plesk: „Websites & Domains“ › „Datenbanken“ › „Datenbank hinzufügen“. Datenbank, Benutzer und Passwort entstehen dort in einem einzigen Formular, Schritt 5 erledigt Plesk mit.
  • cPanel: Unter „MySQL-Datenbanken“ legst du zuerst die Datenbank an, weiter unten auf derselben Seite den MySQL-Benutzer. Danach ordnest du ihn im Bereich zum Hinzufügen eines Benutzers zur Datenbank zu und setzt das Häkchen bei allen Rechten.
  • phpMyAdmin: Nur wenn dein Hoster dir dort das Erstellen erlaubt. Dann genügen „Neu“, ein Name und „Anlegen“, den Benutzer richtest du unter „Benutzerkonten“ ein.

Der vierte Wert, der Datenbank-Server, steht meist in derselben Übersicht wie Name und Benutzer. Findest du dort keinen Eintrag, ist es in aller Regel localhost, also derselbe Rechner, auf dem auch dein Webspace läuft.

Die vier Werte und wo sie im Installer hingehören

Ein falscher Buchstabe genügt, und der Installer kommt nicht in die Datenbank. Die Tabelle zeigt, in welches Feld des Abschnitts „Datenbank“ jeder Wert gehört, wie er bei einem typischen Webhoster aussieht und wo sich beim Abschreiben am häufigsten etwas einschleicht.

WertFeld im InstallerBeispielTypischer Fehler
Server„Datenbank-Server (Host)“, vorbelegt mit localhostlocalhost oder sql42.hoster.delocalhost stehen gelassen, obwohl der Hoster einen eigenen Servernamen nennt
Name„Name der Datenbank“web123_galerienur „galerie“ eingetragen, die Kundennummer davor vergessen
Benutzer„Datenbank-Benutzer“web123_u1Login des Kundenmenüs, FTP-Benutzer oder der geplante Name für die Galerie-Verwaltung
Passwort„Datenbank-Passwort“20 Zeichen aus dem GeneratorLeerzeichen am Ende mitkopiert oder ein l mit einer 1 verwechselt

Beim Passwort ist das Leerzeichen besonders tückisch: Der Installer übernimmt es Zeichen für Zeichen und schneidet nichts ab, weil ein Leerzeichen am Rand auch Teil eines echten Passworts sein kann. Bei Server, Name und Benutzer entfernt er überzählige Leerzeichen dagegen selbst.

So legst du die Datenbank für das Bildergalerie-Script an

Für das Script braucht der Datenbank-Benutzer volle Rechte auf seine Datenbank, weil der Installer die Tabellen selbst erzeugt. Mit reinen Leserechten kommt er zwar hinein, scheitert aber beim ersten Anlegen einer Tabelle. Was nach dem Klick auf „Jetzt installieren“ passiert, zeigt das Diagramm: Zuerst meldet sich der Installer mit deinen vier Werten an, dann schaut er nach, ob in der Datenbank schon eine Galerie steckt, und erst danach legt er seine Tabellen an.

Animiertes Ablaufdiagramm: Datenbank, Benutzer und Rechte im Kundenmenü, vier Werte im Installer, Meldung am Feld Host, Passwort oder Name bei falschen Werten, Abbruch bei vorhandenen Galerie-Tabellen, sonst fünf neue Tabellen
Erst muss die Anmeldung klappen, dann darf keine Galerie in der Datenbank liegen, und erst dann entstehen die fünf Tabellen.

Ein Tabellen-Präfix musst du nicht planen, denn das Script kennt keins. Der Installer legt immer fünf Tabellen mit festen Namen an: admin, admin_log, bilder, kategorie und einstellung, dazu 16 Einstellungen mit Standardwerten. Die Datenbank muss deshalb nicht völlig leer sein, sie darf nur keine dieser fünf Tabellen enthalten. Findet der Installer eine davon, bricht er ab, statt eine vorhandene Galerie zu überschreiben. Auch den Zeichensatz musst du beim Anlegen nicht einstellen: Die Tabellen bekommen immer utf8mb4, egal welche Voreinstellung der Hoster gewählt hat.

Praxisfall: zweite Galerie im selben Paket

Angenommen, dein Paket erlaubt fünf Datenbanken, und in web123_galerie läuft schon eine Galerie mit Urlaubsfotos. Eine zweite Galerie für den Sportverein kann diese Datenbank nicht mitbenutzen, weil dort die Tabelle bilder bereits existiert. Du musst also eine zweite Datenbank anlegen, etwa web123_verein, am besten mit eigenem Benutzer, damit der Kassenwart des Vereins später keinen Zugriff auf deine Urlaubsbilder hat. Scheitert die Installation unterwegs, etwa weil dem Benutzer das Recht zum Anlegen von Tabellen fehlt, entfernt der Installer die bereits angelegten Tabellen wieder. Ein zweiter Versuch beginnt dann in einer sauberen Datenbank. Wenn du das selbst durchspielen willst, kannst du das Bildergalerie-Script kostenlos herunterladen und es gleich in die neue Datenbank installieren.

Woran du erkennst, welcher Wert nicht stimmt

Der Installer zeigt eine Fehlermeldung direkt an dem Feld, das er für die Ursache hält. Wer die Meldung genau liest, muss also nicht alle vier Werte neu abschreiben, sondern meist nur einen:

  • „Der Datenbank-Server lehnt die Anmeldung ab.“ Die Meldung steht am Passwort, betrifft aber Benutzer und Passwort zusammen. Meist ist der Benutzer der falsche (FTP oder Kundenmenü) oder im Passwort steckt ein überzähliges Zeichen.
  • „Der Datenbank-Server … ist nicht erreichbar.“ Der Host stimmt nicht. Steht dort localhost, nennt dein Hoster vermutlich einen eigenen Servernamen.
  • „Die Datenbank … gibt es nicht, oder der Benutzer … hat keinen Zugriff darauf.“ Die Anmeldung hat geklappt, aber die Datenbank passt nicht. Fast immer fehlt das Präfix vor dem Namen oder die Zuordnung aus Schritt 5.
  • „In der Datenbank … gibt es bereits Tabellen der Bildergalerie.“ Alles war richtig, nur liegt dort schon eine Galerie. Wähle eine andere Datenbank.

Bietet das Kundenmenü gar keinen Bereich für Datenbanken an, enthält dein Tarif keine. Dann hilft nur eine Nachfrage beim Support oder ein Wechsel in einen größeren Tarif. Weitere Meldungen, auch solche, die erst nach der Installation auftreten, erklärt die Seite Datenbankverbindung fehlgeschlagen.

Häufige Fragen

Beim Anlegen der Datenbank tauchen immer wieder dieselben Unsicherheiten auf, vor allem rund um die vier Werte und den richtigen Host.

Was ist der Unterschied zwischen Datenbank und Datenbank-Benutzer?

Stell dir die Datenbank als Aktenschrank vor und den Benutzer als Schlüssel dazu. Im Schrank liegen Kategorien, Bildbeschreibungen und Einstellungen. Der Schlüssel hat einen Namen und ein Passwort und muss dem Schrank ausdrücklich zugeordnet sein. Bei manchen Hostern gibt es einen Schlüssel für mehrere Schränke, für die Galerie ist ein eigener trotzdem die sauberere Lösung.

Soll ich zuerst die Dateien hochladen oder zuerst die Datenbank anlegen?

Die Reihenfolge ist egal. Der Installer braucht die vier Werte erst in dem Moment, in dem du auf „Jetzt installieren“ klickst. Viele erledigen den Schritt im Kundenmenü, während das FTP-Programm noch die Dateien überträgt, und haben die Werte dann schon im Textdokument bereitliegen.

Welchen Zeichensatz soll ich für die Datenbank wählen?

Fragt dich das Kundenmenü danach, wähle utf8mb4. Für das Bildergalerie-Script spielt die Auswahl aber keine Rolle mehr, weil der Installer jede seiner Tabellen ausdrücklich mit utf8mb4 anlegt. Umlaute in Kategorienamen wie „Thüringer Wald“ kommen also auch dann richtig an, wenn der Hoster noch latin1 voreingestellt hat.

Warum schlägt die Verbindung zur Datenbank später fehl?

Lief die Installation einmal durch, sind die Werte in der Datei inc/config.php gespeichert. Fällt die Galerie später mit einer Verbindungsmeldung aus, hat sich meist beim Hoster etwas geändert, etwa ein neues Datenbank-Passwort oder ein Umzug auf einen anderen Datenbank-Server. Dann passt du die Werte in dieser Datei per FTP an, eine neue Datenbank brauchst du nicht.

Kann ich die Datenbank einer anderen Anwendung mitbenutzen?

Ja, solange darin keine Tabellen namens admin, admin_log, bilder, kategorie oder einstellung liegen. Besser ist trotzdem eine eigene Datenbank für die Galerie: Das Script kennt kein Präfix, und eine eigene Datenbank lässt sich getrennt sichern.

Verwandte Themen

Wenn die Datenbank steht, führen diese Themen logisch weiter zum Einrichten und Verbinden des Scripts.