Dokumentation / Ein Datenbankbenutzer für mehrere Datenbanken

Ein Datenbankbenutzer für mehrere Datenbanken

Eine Anwendung, die zwei Datenbanken verwendet — eine Hauptdatenbank und ein separates Schema für ein Back-Office etwa —, braucht keine zwei Logins. Gewähren Sie einem Benutzer Zugriff auf beide.

Einem Benutzer eine weitere Datenbank geben

Databases → Database users → in der Zeile des Benutzers, Add database.

Sie werden nach dem Kurznamen der Datenbank gefragt (shop, nicht youracct_shop). Der Benutzer behält sein bestehendes Passwort und seinen bestehenden Zugriff; die neue Datenbank wird ihm hinzugefügt.

Jede Zeile in jener Tabelle zeigt, was der Benutzer derzeit erreichen kann:

app        Databases: shop, admin        Access: localhost only

Ein Benutzer, der noch nichts hat, liest no databases yet.

Eine wieder wegnehmen

Dieselbe Zeile, Remove database. Die Schaltfläche erscheint, sobald der Benutzer mindestens eine Datenbank hält. Sie werden gefragt, welche, und sie ist vorausgefüllt, wenn es nur eine zur Auswahl gibt.

Eine Datenbank von einem Benutzer zu entfernen, löscht den Benutzer nicht und rührt die Datenbank nicht an. Der Benutzer behält sein Passwort und jede andere Datenbank, die er hält. Das ist der Sinn: Bevor es das gab, war der einzige Weg, den Zugriff zu entziehen, den Benutzer zu löschen, was jede Website brach, die sich noch mit ihm anmeldete.

Wissenswertes vor der Nutzung

  • Zugriff wird jeweils für eine Datenbank gewährt. Ein Benutzer erhält niemals pauschalen Zugriff auf den Server; jede Gewährung nennt eine einzelne Datenbank von Ihnen.
  • Sie können den letzten Benutzer einer Datenbank entfernen. Nichts hält Sie auf, und nichts warnt Sie. Die Datenbank und ihr Inhalt bleiben, aber kein Login kann sie erreichen, bis Sie wieder einen gewähren — das ist die Lösung, wenn eine Website plötzlich meldet, sie könne sich nicht verbinden.
  • Namen tragen Ihr Konto-Präfix. Eine Datenbank, die Sie als shop erstellen, ist auf dem Server youracct_shop, und ein Benutzer app ist youracct_app. Tippen Sie den Kurznamen im Panel und den vollständigen Namen in die Konfiguration Ihrer Anwendung.
  • Nur Ihre eigenen Datenbanken und Benutzer. Eine Gewährung, die die Datenbank eines anderen Kontos nennt, wird abgelehnt. Ebenso ein Entzug.

Von Grund auf einrichten

  1. Databases → Create database, zweimal — zum Beispiel site und admin.
  2. Create user & connect: benennen Sie den Benutzer, wählen Sie site aus dem Dropdown. Das ist die erste Gewährung.
  3. In der Zeile des neuen Benutzers, Add database, und geben Sie admin ein.

Kopieren Sie das Passwort, wenn es angezeigt wird. Das Panel speichert es in einer Form, die es nicht zurücklesen kann, sodass ein verlorenes Passwort zurückgesetzt, nicht wiederhergestellt wird — das ist Password in derselben Zeile.

Wenn etwas falsch aussieht

„No such database for this account." Der Name wurde vertippt, oder Sie haben die Präfix-Form eingegeben. Verwenden Sie den Kurznamen, wie er in der obigen Databases-Tabelle erscheint.

„No such database user for this account." Die Benutzerliste auf der Seite ist veraltet. Laden Sie sie neu.

Die Anwendung verbindet sich mit einer Datenbank, aber nicht mit der anderen. Bestätigen Sie, dass die Zeile beide unter Databases auflistet und dass die Anwendung den Präfix-Namen (youracct_admin) und denselben Host verwendet — localhost, es sei denn, Sie haben Remote hosts für diesen Benutzer konfiguriert.

Eine Gewährung scheint von einer entfernten Maschine aus keine Wirkung zu haben. Hier hinzugefügte Gewährungen gelten für das lokale Login. Verbindet sich dieser Benutzer auch von einer externen Adresse, speichern Sie nach der Gewährung seine Remote hosts-Liste erneut, damit der Remote-Eintrag mit den Datenbanken, die der Benutzer nun hält, auf den neuesten Stand gebracht wird.