Was sind Zugangsdaten zur Datenbank?

 

Deine Galerie redet bei jedem Seitenaufruf mit einem zweiten Programm: dem Datenbank-Server, auf dem Kategorien, Bildbeschreibungen und Einstellungen liegen. Der lässt aber nicht jeden herein. Bevor er eine einzige Zeile herausgibt, will er wissen, wer da anklopft und ob derjenige das darf. Genau dafür gibt es die Zugangsdaten zur Datenbank: vier kurze Angaben, die du beim Einrichten einmal einträgst und danach meist jahrelang nicht mehr anfasst. Spannend werden sie erst wieder, wenn sich beim Webhoster etwas ändert. Dann hilft es zu wissen, wo sie stehen und welcher Wert wofür zuständig ist.

Zugangsdaten zur Datenbank: Code-Editor, über Server, Benutzer, Passwort und Name mit der Datenbank samt Schlüssel verbunden

Vier Werte, vier Fragen

Am leichtesten merkst du dir die vier Werte, wenn du jeden als Antwort auf eine Frage liest, die der Datenbank-Server stellt. Erst wenn alle vier Antworten zusammenpassen, öffnet er die Tür. Drei richtige und eine falsche reichen nicht. Ist der Benutzer oder das Passwort falsch, verrät der Server nicht einmal, welcher der beiden Werte danebenliegt, sondern meldet nur „Access denied“.

  • Wo soll ich hin? Der Host: Name oder Adresse des Rechners, auf dem die Datenbank läuft. Beim Großteil der Webhoster ist das derselbe Rechner wie dein Webspace, und dann heißt der Wert localhost.
  • Welcher Schrank? Der Datenbankname: Auf einem Server liegen oft Hunderte Datenbanken verschiedener Kunden. Der Name sagt, welche davon deiner Galerie gehört.
  • Wer fragt? Der Benutzer: ein Konto, das nur in der Datenbankwelt existiert. Es hat nichts mit deinem Login beim Hoster oder deinem FTP-Zugang zu tun.
  • Beweis bitte! Das Passwort: das Kennwort genau dieses Benutzers, mit allen Groß- und Kleinbuchstaben und Sonderzeichen.

Wo die Zugangsdaten zur Datenbank beim Hoster stehen

Alle vier Angaben findest du im Kundenmenü des Webhosters im Bereich für Datenbanken, meist in einer Liste, in der jede Datenbank eine Zeile hat. Drei davon kannst du dort jederzeit nachlesen. Beim Passwort ist das anders: Viele Oberflächen zeigen es nur direkt nach dem Anlegen und danach nie wieder. Hast du es nicht notiert, vergibst du ein neues und trägst es danach überall nach, wo das alte stand, bei der Galerie also in inc/config.php.

AngabeMeist zu sehen unterDarauf achten
Host„Server“, „Hostname“ oder „Datenbank-Server“ in der DetailansichtSteht dort nichts, gilt fast immer localhost
Datenbanknameerste Spalte der DatenbanklisteKundennummer oder Präfix gehört zum Namen dazu
Benutzer„Benutzer“ oder „Zugeordnete Benutzer“ bei der Datenbankkann anders heißen als die Datenbank selbst
Passwortnur beim Anlegen oder über „Passwort ändern“eine Änderung wirkt sofort auf die laufende Galerie

localhost oder eigener Datenbank-Server?

localhost bedeutet schlicht „dieser Rechner hier“. Die Galerie sucht die Datenbank also auf derselben Maschine, auf der auch ihre PHP-Dateien laufen. Das ist bei kleinen und mittleren Webhosting-Tarifen die Regel. Größere Anbieter trennen Webserver und Datenbankserver und nennen dir dann einen eigenen Namen, oft mit einer Nummer darin, etwa sql117.hoster.de oder rdbms.hoster.de. Die Entscheidung ist einfach: Zeigt die Datenbankübersicht einen solchen Namen, übernimmst du ihn Zeichen für Zeichen. Zeigt sie keinen, lässt du localhost stehen. Eigene Adressen auszuprobieren, etwa den Domainnamen deiner Webseite, führt fast nie zum Ziel, weil der Datenbank-Server von außen meist gar nicht erreichbar ist.

Vier Konten, vier Passwörter

Wer eine eigene Galerie betreibt, jongliert mit mehreren Zugängen, und genau hier entstehen die meisten Verwechslungen. Hilfreich ist, für jedes Konto zu wissen, wer es benutzt und wann.

KontoWer meldet sich damit anWann du es brauchst
Kundenmenü des Hostersdu selbst im BrowserDatenbank anlegen, Passwort neu setzen, Tarif verwalten
FTP-Zugangdu selbst im FTP-ProgrammDateien hochladen, inc/config.php bearbeiten
Datenbank-Benutzernur das Scripteinmal im Installer, später nur bei Änderungen beim Hoster
Verwaltung der Galeriedu selbst unter admin/bei jedem Hochladen und Bearbeiten

Das Konto für die Verwaltung legst du im Installer im Abschnitt „Zugang zum Administrationsbereich“ an, mit einem Benutzernamen von höchstens 50 Zeichen und einem Passwort von mindestens 8 Zeichen. Es wird nur als Hash in der Tabelle admin gespeichert und hat mit dem Datenbank-Benutzer nichts zu tun. Wer sich in der Verwaltung mit dem Datenbank-Passwort anzumelden versucht, bekommt deshalb „Benutzername oder Passwort ist falsch.“ zu sehen, obwohl er das Passwort richtig abgetippt hat. Nach fünf solchen Fehlversuchen innerhalb von fünf Minuten sperrt die Verwaltung den Zugang außerdem für fünf Minuten.

Wann sich Zugangsdaten zur Datenbank ändern

Von selbst ändern sie sich nie. Es gibt aber typische Anlässe, bei denen du sie in der Galerie nachziehen musst, sonst bleibt die Seite leer oder zeigt eine Fehlermeldung:

  • Passwort im Kundenmenü neu gesetzt: etwa weil du es vergessen hattest oder der Hoster nach einem Sicherheitsvorfall dazu auffordert. Die Galerie kennt nur das alte und scheitert ab der nächsten Sekunde.
  • Umzug zu einem anderen Webhoster: Dort bekommst du eine neue Datenbank mit eigenem Namen, Benutzer und oft auch eigenem Host. Alle vier Werte ändern sich.
  • Hoster verlegt die Datenbank: Bei Tarifwechseln oder Serverumstellungen wandert die Datenbank manchmal auf einen anderen Rechner. Meist ändert sich dann nur der Host, und der Hoster kündigt das per E-Mail an.

So verwendet das Bildergalerie-Script die Zugangsdaten zur Datenbank

Im Bildergalerie-Script gibst du die vier Werte genau einmal ein, im Installer im Abschnitt „Datenbank“. Der Installer meldet sich damit sofort probeweise an. Stimmt etwas nicht, erfährst du es noch vor der Installation, und zwar am passenden Feld: Bei abgelehnter Anmeldung bittet er dich, Datenbank-Benutzer und Datenbank-Passwort zu prüfen, bei einem unerreichbaren Server die Angabe beim Host. Klappt die Anmeldung, schreibt er die Werte in die Datei inc/config.php. Dort liest die Galerie sie bei jedem Aufruf.

WertFeld im InstallerEintrag in inc/config.php
HostDatenbank-Server (Host), vorbelegt mit localhost$db_host
DatenbanknameName der Datenbank$db_datenbank
BenutzernameDatenbank-Benutzer$db_user
PasswortDatenbank-Passwort$db_passwort

Ab diesem Moment ist die Datei die einzige Stelle, an der die Galerie ihre Zugangsdaten findet. In der Verwaltung gibt es kein Feld dafür, und den Installer kannst du nicht ein zweites Mal ausführen. Was das im Alltag bedeutet, zeigt das Diagramm: Ändert sich beim Hoster etwas, die Datei bleibt aber, wie sie ist, scheitert jeder Aufruf.

Animiertes Ablaufdiagramm: Der Installer schreibt die vier Zugangsdaten in inc/config.php, die Galerie liest sie bei jedem Aufruf und meldet sich beim MySQL-Server an; mit veraltetem Passwort lehnt der Server mit Access denied ab
Die Galerie nimmt bei jedem Aufruf die Werte aus inc/config.php, nicht die aus dem Kundenmenü.

Das Passwort steht in dieser Datei im Klartext, denn die Galerie muss es bei jeder Anmeldung an MySQL mitschicken. Geschützt ist sie doppelt: Ein direkter Aufruf von config.php im Browser endet mit Status 403, und eine .htaccess im Ordner inc/ sperrt unter Apache jeden Zugriff aus dem Web. Als Dateirecht genügt 644. Auf 600 kannst du gehen, wenn PHP unter dem Benutzer deines Webspace läuft, sonst kann die Galerie die Datei nicht mehr lesen und fällt aus. Bewahre Sicherungen von inc/config.php außerhalb des Webspace auf.

Praxisfall: neues Datenbank-Passwort beim Hoster

Du setzt im Kundenmenü ein neues Passwort für den Datenbank-Benutzer. Ab diesem Moment scheitert jeder Aufruf der Galerie an der Anmeldung. Was du im Browser siehst, hängt von den PHP-Einstellungen deines Hosters ab: Ist die Fehleranzeige eingeschaltet, erscheint „Fatal error: Uncaught mysqli_sql_exception: Access denied for user …“, sonst bleibt die Seite weiß oder zeigt „500 Internal Server Error“. Im Fehlerprotokoll im Kundenmenü steht in beiden Fällen dieselbe Zeile mit „Access denied for user“, dahinter dein Datenbank-Benutzer und „(using password: YES)“. Lautet die Meldung „DBD::mysqli Error: Could not connect to the database.“, ist die Ursache dieselbe; so meldet die Galerie den Fehler, wenn PHP Datenbankfehler nicht als Ausnahme behandelt. So bringst du sie in wenigen Minuten zurück:

  1. Mit dem FTP-Programm inc/config.php herunterladen und eine Kopie davon behalten.
  2. Die Datei in einem Texteditor öffnen und in der Zeile mit $db_passwort nur den Text zwischen den einfachen Anführungszeichen ersetzen.
  3. Als UTF-8 ohne BOM speichern. Ein unsichtbares Zeichen vor <?php führt sonst zu „headers already sent“.
  4. Die Datei wieder hochladen und die Galerie im Browser neu laden.

Enthält das neue Passwort selbst ein einfaches Anführungszeichen oder einen Backslash, wähle lieber ein anderes, statt es in der Datei zu maskieren. Am sichersten ist ohnehin ein eigener Datenbank-Benutzer, der nur auf die Datenbank der Galerie zugreifen darf. Wenn du das alles am eigenen Webspace durchspielen möchtest, kannst du das Bildergalerie-Script kostenlos herunterladen und die vier Werte direkt im Installer eintragen.

Häufige Fragen

Rund um die vier Werte tauchen beim Einrichten fast immer dieselben Stolperstellen auf, die sich schnell klären lassen.

Muss ich beim Host localhost oder eine richtige Adresse eintragen?

Schau in die Detailansicht deiner Datenbank beim Hoster. Ist dort ein eigener Servername aufgeführt, gehört genau dieser ins Feld. Steht dort keiner oder ausdrücklich localhost, bleibt die Vorbelegung im Installer stehen. Raten hilft nicht, denn eine falsche Angabe führt immer zu einem nicht erreichbaren Server.

Warum schlägt meine Anmeldung trotz richtigem Passwort fehl?

Oft ist es das richtige Passwort, aber für das falsche Konto: das vom Kundenmenü oder vom FTP-Zugang statt das des Datenbank-Benutzers. Ebenso häufig hängt beim Kopieren ein Leerzeichen am Ende, das der Installer bewusst nicht entfernt, oder es fehlt die Kundennummer vor dem Benutzernamen.

Brauche ich neben Host, Benutzer und Passwort noch einen Port?

MySQL nutzt standardmäßig Port 3306, und genau diesen verwendet das Bildergalerie-Script. Ein Feld für den Port gibt es weder im Installer noch in inc/config.php. Bei normalem Webspace ist das kein Problem, denn dort läuft die Datenbank fast immer auf 3306. Nennt dein Hoster ausdrücklich einen anderen Port, frag dort nach, ob die Datenbank auch über 3306 erreichbar ist.

Kann ich die Zugangsdaten nach der Installation noch ändern?

Ja, aber nicht in der Verwaltung der Galerie. Lade inc/config.php per FTP herunter, ändere die Werte bei $db_host, $db_datenbank, $db_user oder $db_passwort, speichere die Datei als UTF-8 ohne BOM und lade sie wieder hoch. Den Installer erneut aufzurufen hilft nicht, er sperrt eine zweite Installation.

Darf ich inc/config.php in einem Forum zeigen, wenn ich Hilfe suche?

Nur mit unkenntlich gemachtem Passwort, denn die Datei enthält die vollständigen Zugangsdaten zur Datenbank. Host, Datenbankname und Benutzer sind für sich genommen harmlos, zusammen mit dem Passwort öffnen sie jedem die komplette Galerie-Datenbank. Wer bei der Fehlersuche helfen soll, braucht ohnehin vor allem die genaue Fehlermeldung, nicht das Passwort.

Verwandte Themen

Wenn die Verbindung trotz korrekter Werte hakt oder du die Datenbank erst noch anlegen musst, helfen diese Anleitungen weiter.