phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

Erstellen Sie eine Ansicht ohne SUPER-Berechtigungen in phpMyAdmin

Aus der Dokumentation:

Wenn Sie die DEFINER-Klausel angeben, können Sie den Wert nur auf Ihren eigenen Benutzer setzen, es sei denn, Sie haben die SUPER-Berechtigung. Diese Regeln bestimmen die legalen DEFINER-Benutzerwerte:

  • *Wenn Sie nicht über das SUPER-Privileg verfügen, ist der einzige gültige Benutzerwert Ihr eigenes Konto, entweder wörtlich angegeben oder durch Verwendung von CURRENT_USER. Sie können den Definierer nicht auf ein anderes Konto setzen.*
  • Wenn Sie das SUPER-Privileg haben, können Sie jeden syntaktisch gültigen Kontonamen angeben. Wenn das Konto tatsächlich nicht existiert, wird eine Warnung generiert.

Überprüfen Sie Ihr MySQL-Konto, es ist nicht byname @localhost .

Lösungen:

  • Erstellen Sie eine neue Ansicht mit DEFINER-Klausel unter Verwendung eines Kontos, das mit SUPER-Berechtigung gewährt wurde.
  • Verwenden Sie die DEFINER-Klausel nicht in CREATE VIEW, in diesem Fall erstellt MySQL die Ansicht DEFINER =CURRENT_USER.