Was ist phpMyAdmin? Das Werkzeug zur Datenbank-Verwaltung

 

Wer eine Galerie mit Datenbank betreibt, landet früher oder später in phpMyAdmin. Meist an einem Abend, an dem etwas nicht stimmt: Das Passwort für die Verwaltung ist weg, vor einem Update soll eine Sicherung her, oder eine Kategorie heißt plötzlich falsch. phpMyAdmin ist eine Weboberfläche, über die Sie die MySQL- oder MariaDB-Datenbank Ihres Webspace direkt bearbeiten. Sie sehen dort dieselben Tabellen, aus denen Ihre Galerie ihre Seiten baut, nur ohne die Schutzgeländer der Galerie-Verwaltung. Genau deshalb lohnt es sich zu wissen, was man dort tun sollte und was besser nicht.

Was ist phpMyAdmin: Browser-Oberfläche mit Datenbankliste links und Tabellen-Ansicht rechts zur MySQL-Verwaltung

phpMyAdmin: ein zweiter Eingang zur selben Datenbank

phpMyAdmin ist selbst ein PHP-Programm, das auf einem Server Ihres Hosters läuft. Es tut im Grunde dasselbe wie Ihre Galerie: Es meldet sich beim Datenbank-Server an, schickt SQL-Befehle und zeigt die Antworten an. Nur stellt es die Antworten als Tabellen mit Knöpfen dar, statt daraus Vorschaubilder zu machen. Galerie und Datenbankwerkzeug sind also zwei Eingänge in dasselbe Haus. Was Sie über den einen Eingang ändern, sieht auch der andere, die Galerie allerdings erst, wenn ihr Zwischenspeicher abgelaufen ist.

Für die Anmeldung braucht das Werkzeug die Zugangsdaten der Datenbank, nicht die Ihrer Galerie-Verwaltung und nicht die Ihres FTP-Kontos. Bei vielen Hostern öffnet ein Klick im Kundenmenü die Oberfläche bereits angemeldet. Fragt es doch nach Daten, finden Sie diese an zwei Stellen:

AngabeIm Kundenmenü des HostersIn der Galerie
Serverbei den Datenbanken, oft localhost$db_host in inc/config.php
Benutzerder Datenbank-Benutzer, häufig mit Kundennummer im Namen$db_user
Passwortdort neu setzbar, aber nicht ablesbar$db_passwort
DatenbankName der Datenbank, nach dem Login links auswählen$db_datenbank

Ein Hinweis zur Reihenfolge: Setzen Sie das Datenbank-Passwort im Kundenmenü neu, kann sich die Galerie danach nicht mehr verbinden, bis Sie das neue Passwort auch in inc/config.php eintragen. Wer nur hineinkommen will, nimmt deshalb lieber das Passwort aus der Datei, als ein neues zu vergeben.

Der erste Blick nach dem Login

Links steht eine Liste der Datenbanken, auf die Ihr Benutzer zugreifen darf. Oft taucht dort zusätzlich information_schema auf. Das ist eine Art Inhaltsverzeichnis, das der Datenbank-Server selbst führt, und dort gibt es nichts zu ändern. Ein Klick auf Ihre eigentliche Datenbank zeigt rechts die Tabellen mit drei Spalten, die für Galeriebetreiber aufschlussreich sind: „Datensätze“ zählt die Zeilen, bei InnoDB-Tabellen mit einer Tilde als Schätzwert. „Kollation“ verrät den Zeichensatz, also ob eine Tabelle mit utf8mb4 oder noch mit latin1 arbeitet. Und „Größe“ zeigt, wie wenig Platz die Datenbank im Vergleich zu den Fotos braucht. Oben über der Tabellenliste sitzen die Reiter, mit denen Sie arbeiten:

  • Anzeigen: blättert durch die Zeilen einer Tabelle, zum Beispiel durch alle Bildeinträge mit Dateiname und Beschreibung. Zum Nachsehen ideal, denn Lesen verändert nichts.
  • Struktur: zeigt Spalten, Typen und Schlüssel. Hier erkennen Sie, dass eine Beschreibung als Text gespeichert wird und welche Spalte die Nummer der Kategorie enthält.
  • SQL: ein Eingabefeld für eigene Befehle. Mächtig und ohne Rückfrage, hier sollte jeder ändernde Befehl erst nach einer Sicherung stehen.
  • Exportieren: schreibt die Datenbank als Datei mit SQL-Befehlen auf Ihren Rechner. Die Schnellmethode mit Format SQL reicht für eine Galerie.
  • Importieren: spielt eine solche Datei zurück. Die Seite nennt die größte erlaubte Dateigröße, die Ihr Hoster festlegt.
  • Operationen: enthält Wartung wie „Tabelle analysieren“ und „Tabelle optimieren“, die Sie auch über die Auswahlliste unter der Tabellenübersicht erreichen. „Tabelle reparieren“ bietet phpMyAdmin nur für ältere Speicherarten wie MyISAM an, bei InnoDB-Tabellen fehlt der Punkt.

Verwaltung oder phpMyAdmin? So entscheiden Sie

Der wichtigste Unterschied zwischen den beiden Eingängen liegt in dem, was nebenbei passiert. Nehmen Sie das Foto laub.jpg in der Kategorie mit der Nummer 3 und dem Ordner herbst. Zu seiner Zeile in der Tabelle bilder gehören drei Dateien: das Original bilder/herbst/laub.jpg, das Vorschaubild bilder/tn/tn3_laub.jpg und die verkleinerte Kopie für die große Ansicht bilder/tn/ob_3_laub.jpg. Die Verwaltung weiß das und räumt alles gemeinsam auf, samt Zwischenspeicher. phpMyAdmin kennt nur die Datenbank. Löschen Sie dort die Zeile, bleiben alle drei Dateien liegen, und die Galerie zeigt eine Weile noch den alten Stand. Tückischer ist die Spätfolge: Beim nächsten Klick auf „Per FTP hochgeladene Bilder übernehmen“ findet die Galerie im Ordner herbst eine Datei ohne Zeile und trägt laub.jpg als neues Bild wieder ein. Das Diagramm stellt beide Wege gegenüber.

Animiertes Vergleichsdiagramm: Löschen von laub.jpg über die Verwaltung entfernt Original, tn3- und ob_3-Kopie, Datenbankzeile und Zwischenspeicher; per SQL in phpMyAdmin verschwindet nur die Zeile, die drei Dateien bleiben
Dieselbe Aufgabe, zwei Wege: Nur die Verwaltung räumt alle drei Dateien und den Zwischenspeicher mit auf.

Daraus ergibt sich eine einfache Regel. Wenn es für eine Aufgabe einen Menüpunkt in der Galerie gibt, nehmen Sie den Menüpunkt. Wenn es keinen gibt, etwa für ein vergessenes Passwort oder einen zweiten Administrator, ist phpMyAdmin das richtige Werkzeug. Und wenn Sie dort etwas ändern statt nur nachzusehen, exportieren Sie vorher. Ein Rückgängig gibt es dort nicht, ein abgeschickter DELETE-Befehl ist endgültig.

Rechenbeispiel: wie groß wird die Sicherung?

Viele Betreiber wundern sich beim ersten Export, wie klein die Datei ist. Eine Galerie mit 2.000 Fotos hat 2.000 Zeilen in der Bildertabelle, jede mit Dateiname, Nummern, Zeitstempel und Beschreibung. Zusammen mit Kategorien, Einstellungen und Protokoll ergibt das eine SQL-Datei von meist deutlich unter einem Megabyte. Die Fotos selbst sind darin nicht enthalten. Bei 3 MB pro Bild liegen davon rund 6 GB im Ordner bilder/, und die holen Sie per FTP.

Für den Import heißt das: Die Grenze, die phpMyAdmin auf der Seite „Importieren“ nennt, oft 2 MB oder etwas mehr, ist für eine Galerie-Datenbank selten ein Problem. Wird die Datei doch zu groß, meist durch ein über Jahre gewachsenes Protokoll, hilft der Export mit Komprimierung „gzip“. phpMyAdmin liest so gepackte Dateien beim Import direkt. Eine vollständige Sicherung besteht trotzdem immer aus zwei Teilen, der kleinen SQL-Datei und dem großen Bilderordner, und beide sollten vom selben Tag stammen.

Den Zugang sauber halten

Weil phpMyAdmin alles darf, was der Datenbank-Benutzer darf, suchen automatisierte Angriffe gezielt nach Adressen wie /phpmyadmin. Die Version im Kundenmenü pflegt Ihr Hoster, und sie ist meist nur nach der Anmeldung im Kundenmenü erreichbar. Eine eigene Kopie des Werkzeugs in den Webspace hochzuladen, lohnt sich für eine Galerie nicht: Sie müssten sie selbst aktuell halten und absichern.

Drei Gewohnheiten senken das Risiko im Alltag. Melden Sie sich nach der Arbeit ab, besonders an fremden Rechnern. Speichern Sie Exportdateien nie im Webspace, denn sie enthalten die Inhalte Ihrer Tabellen im Klartext, beim Bildergalerie-Script etwa auch die Passwort-Hashes der Verwaltung. Und denken Sie daran, dass phpMyAdmin abgeschickte SQL-Befehle in einer Verlaufsliste aufbewahren kann, samt Werten, die darin standen.

phpMyAdmin beim Bildergalerie-Script: wann Sie es brauchen

Im Alltag einer Galerie kommen Sie ohne phpMyAdmin aus, denn Kategorien, Bilder und Einstellungen pflegen Sie in der Verwaltung des Scripts. Es gibt aber einige Aufgaben, für die das Script bewusst keine Oberfläche hat. Die Datenbank der Galerie besteht aus fünf Tabellen ohne Präfix: admin, admin_log, bilder, kategorie und einstellung. Liegen in derselben Datenbank weitere Tabellen, gehören sie zu einer anderen Anwendung; löschen Sie sie nicht auf Verdacht.

AufgabeSo geht es
Datenbank sichernDatenbank wählen, „Exportieren“, Format SQL
Sicherung zurückspielenerst den Ordner bilder/ per FTP, dann „Importieren“ mit der SQL-Datei vom selben Tag
Benutzernamen nachsehenTabelle admin öffnen, Spalte username
weiteren Administrator anlegennur per SQL in der Tabelle admin, eine Benutzerverwaltung gibt es im Script nicht
Protokoll filtern oder auswertenAbfrage auf admin_log im Reiter „SQL“, das Ergebnis über „Exportieren“ unter der Ergebnistabelle etwa als CSV speichern
Tabellen nach großen Löschaktionen verkleinernTabellen markieren, „Tabelle optimieren“

Datenbank und Bilder sollten beim Zurückspielen aus demselben Stand stammen. Fehlt zu einem Eintrag die Datei, blendet die Galerie das Bild nur aus und löscht den Eintrag nicht, damit keine Beschreibung verloren geht. Unter „Bilder verwalten“ erscheint er als Karte „Datei fehlt“, bis Sie die Datei per FTP nachladen oder den Eintrag mit „Löschen“ entfernen. In der Tabelle einstellung ändern Sie bitte nie die Spalte name. Die Einträge sind Schlüssel im Code, auch die mit alten Schreibweisen wie lehre_kategorieen_anzeigen.

Praxisfall: Passwort für die Verwaltung vergessen

Eine Funktion „Passwort vergessen“ mit Mail hat das Script nicht. Wer sein Passwort nicht mehr weiß, setzt es in phpMyAdmin neu:

  1. Melden Sie sich in phpMyAdmin an und wählen Sie links die Datenbank der Galerie.
  2. Sichern Sie die Datenbank über „Exportieren“.
  3. Öffnen Sie den Reiter „SQL“ und führen Sie aus: UPDATE `admin` SET `password` = MD5('Neustart-2026') WHERE `username` = 'admin'; Statt admin setzen Sie Ihren Benutzernamen ein.
  4. Melden Sie sich mit dem Übergangspasswort an. Das Script erkennt den alten MD5-Wert und speichert das Passwort dabei als bcrypt-Hash.
  5. Vergeben Sie sofort unter „Passwort ändern“ ein eigenes Passwort mit mindestens 8 Zeichen.

Wählen Sie für den Übergang ein Passwort ohne Umlaute, denn MD5 rechnet mit den Bytes des Zeichensatzes, und ein „ü“ ergibt je nach Verbindung einen anderen Wert.

Ändern Sie Kategorien oder Bilder direkt in der Datenbank, zeigt die Galerie beim Standardwert bis zu 350 Sekunden lang den alten Stand, weil sie Abfragen im Ordner cache/ zwischenspeichert. Wer nicht warten will, löscht dort die Dateien mit 32-stelligem Namen und lässt die .htaccess stehen. Wer die fünf Tabellen der Galerie selbst erkunden möchte, kann das Bildergalerie-Script kostenlos herunterladen und in einer Testdatenbank installieren.

Häufige Fragen

Diese Fragen tauchen auf, sobald man in phpMyAdmin mehr tut als nachzusehen.

Wie finde ich die Adresse von phpMyAdmin?

Schauen Sie im Kundenmenü Ihres Hosters im Bereich Datenbanken nach. Dort steht neben jeder Datenbank meist ein Knopf oder Link, der phpMyAdmin öffnet, oft gleich angemeldet. Eine feste Adresse für alle Hoster gibt es nicht. Liefert die Suche im Kundenmenü nichts, nennt der Support die Adresse in der Regel sofort.

Wie lege ich einen zweiten Administrator per SQL an?

Mit einer Zeile in der Tabelle admin, etwa INSERT INTO `admin` (`username`, `password`) VALUES ('zweiter-admin', MD5('Startpasswort-2026')); Den sicheren bcrypt-Wert kann SQL nicht selbst bilden, deshalb der Umweg über MD5: Bei der ersten Anmeldung stellt die Galerie den Wert automatisch um. Danach vergibt der neue Administrator unter „Passwort ändern“ sein eigenes Passwort. Alle Zugänge haben dieselben Rechte, der Benutzername darf höchstens 50 Zeichen lang sein.

Warum zeigen meine Tabellen latin1 statt utf8mb4?

Weil die Galerie aus einer Version vor 3.15 stammt. Neue Installationen legen InnoDB-Tabellen mit utf8mb4 an, ältere behalten beim Update MyISAM und latin1. Die Galerie arbeitet mit beiden, nur Zeichen außerhalb von latin1, etwa Emojis in Beschreibungen, lassen sich in alten Tabellen nicht speichern. Wer umstellen will, exportiert zuerst und führt dann je Tabelle ALTER TABLE `bilder` ENGINE=InnoDB, CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; aus.

Ich habe ein Bild per SQL gelöscht. Was ist mit den Dateien?

Alle drei liegen noch auf dem Server: das Original im Ordner der Kategorie sowie Vorschaubild (tn<Nummer>_…) und Lightbox-Kopie (ob_<Nummer>_…) in bilder/tn/. Löschen Sie sie per FTP, sonst trägt der nächste FTP-Import das Original wieder ein. Beim nächsten Mal nehmen Sie besser „Bilder verwalten“, das alles in einem Schritt entfernt.

Verwandte Themen

Hinter der Oberfläche von phpMyAdmin stehen Datenbank und MySQL. Diese Beiträge erklären die Grundlagen und die Installation der Galerie.