Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich beim Erstellen von Funktionen in phpMyAdmin die Fehlermeldung „Fehler: Zugriff verweigert; für diesen Vorgang benötigen Sie die SUPER-Berechtigung'?

Warum erhalte ich beim Erstellen von Funktionen in phpMyAdmin die Fehlermeldung „Fehler: Zugriff verweigert; für diesen Vorgang benötigen Sie die SUPER-Berechtigung'?

Susan Sarandon
Freigeben: 2024-10-31 17:13:30
Original
997 Leute haben es durchsucht

Why Am I Getting

Fehler: Zugriff verweigert: Funktionen in phpMyAdmin erstellen

Beim Ausführen von SQL-Abfragen zum Erstellen von Funktionen in phpMyAdmin stoßen Benutzer möglicherweise auf einen „Fehler: „Zugriff verweigert; Sie benötigen die Berechtigung SUPER für diesen Vorgang“. Dieser Fehler ist auf eine Berechtigungsanforderung zurückzuführen.

Identifizierung des Problems

Zwei Hauptprobleme können diesen Fehler verursachen:

  1. Fehlend CREATE ROUTINE-Berechtigung: MySQL 5.0.3 und höher erfordern die CREATE ROUTINE-Berechtigung, um CREATE PROCEDURE- und CREATE FUNCTION-Abfragen auszuführen.
  2. DEFINER-Einschränkung: Das DEFINER-Attribut gibt den Benutzer an, der Eigentümer ist die gespeicherte Prozedur oder Funktion. Wenn der DEFINER auf einen eingeschränkten Benutzer eingestellt ist, muss der Aufrufer über die SUPER-Berechtigung zum Erstellen des Objekts verfügen.

Lösung

DEFINER-Attribut entfernen :

Um die SUPER-Berechtigung überflüssig zu machen, entfernen Sie das DEFINER-Attribut aus der SQL-Abfrage. Dadurch wird dem aktuellen Benutzer das Eigentum an der Funktion gewährt.

<code class="sql">CREATE FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
...</code>
Nach dem Login kopieren

Trennzeichenfeld in phpMyAdmin festlegen:

Bevor Sie die geänderte Abfrage ausführen, stellen Sie sicher, dass das Trennzeichenfeld vorhanden ist korrekt unter dem SQL-Textfeld in phpMyAdmin eingestellt.

Zusätzliche Hinweise:

  • Für die binäre Protokollierung ist möglicherweise die SUPER-Berechtigung erforderlich.
  • Sobald die Wenn die Funktion erstellt wird, können Benutzer anderen Benutzern oder Rollen bestimmte Berechtigungen gewähren.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen von Funktionen in phpMyAdmin die Fehlermeldung „Fehler: Zugriff verweigert; für diesen Vorgang benötigen Sie die SUPER-Berechtigung'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage