Mysql: Der als Definierer angegebene Benutzer ('xxx@'%') existiert nicht – Lösung

Mysql: Der als Definierer angegebene Benutzer ('xxx@'%') existiert nicht – Lösung

Bei der heutigen Projektoptimierung ist bei MySQL ein Problem aufgetreten: Der als Definierer angegebene Benutzer ('wx_root'@'%') existiert nicht

Ich habe es überprüft und es bedeutet, dass ich keine Berechtigung zum Ausführen sql habe. Ich habe den Datenbankbenutzer geprüft und es war quoters , aber SQL hatte keinen Besitz. Dann finden Sie den Grund. Es wurde festgestellt, dass während des SQL-Ausführungsprozesses eine gespeicherte Prozedur aufgerufen wurde

Der Ersteller dieser gespeicherten Prozedur ist wx_root . Zum Zeitpunkt der Ausführung haben quoters also keine Berechtigung

Lösungen und Maßnahmen:

1. Überprüfen Sie das Objekt, zu dem die gespeicherte Prozedur gehört: Klicken Sie mit der rechten Maustaste auf die Funktion der gespeicherten Prozedur -> Wählen Sie Objekteigenschaften -> Überprüfen Sie, ob die Funktion erstellt wurde und zum aktuell angemeldeten Benutzer gehört

2. Wenn nicht, sichern Sie die ursprüngliche gespeicherte Prozedurfunktion, kopieren Sie den gesamten Inhalt der gespeicherten Prozedurfunktion, erstellen Sie eine neue gespeicherte Prozedur und geben Sie ihr den gleichen Namen wie der ursprünglichen.

3. Auf diese Weise gehört der Ersteller dem aktuell angemeldeten Benutzer. Die ursprüngliche Funktion kann gelöscht oder beibehalten werden (wenn Sie sich nicht sicher sind, behalten Sie sie am besten zunächst bei)

Es gibt andere Gründe, die diesen Fehler verursachen können, z. B. keine Berechtigung zum Ausführen der MySQL-Ansicht

Die Lösung für die Anzeige ohne Berechtigung lautet wie folgt

Der als Definierer angegebene Benutzer ('root'@'%') existiert nicht.

Dies liegt normalerweise daran, dass der Root-Benutzer keinen Zugriff auf den globalen Host hat. Fügen Sie daher einfach dem Root-Benutzer eine Zugriffsberechtigung hinzu.

Lösung:

  • Melden Sie sich bei MySQL an und führen Sie aus
  • mysql -u root -pPasswd
  • mysql >gewähre root@"%", identifiziert durch "Passwd", alle Privilegien für *.*
  • mysql >Flush-Berechtigungen

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der MySQL DEFINER-Verwendung

<<:  CentOS8-Netzwerkkarten-Konfigurationsdatei

>>:  Vue implementiert eine Online-Vorschau von PDF-Dateien (mithilfe von pdf.js/iframe/embed)

Artikel empfehlen

Vue einfache Implementierung einer Plattenspielerlotterie

In diesem Artikel wird der spezifische Code von V...

Ursachenanalyse und Lösung des E/A-Fehlers beim Löschen einer MySQL-Tabelle

Problemphänomen Ich habe kürzlich Sysbench verwen...

Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed

Um eine Zeichenfolge zu ersetzen, müssen wir das ...

Diskussion über Web-Nachahmung und Plagiat

Einige Monate nachdem ich 2005 in die Branche eing...

Lösung für das Docker-Pull-Timeout

In letzter Zeit ist das Abrufen von Docker-Images...

Was sind die Verwendungszwecke von Limits in MySQL (empfohlen)

SELECT * FROM Tabellenname Limit m,n; SELECT * FR...

So fragen Sie schnell 10 Millionen Datensätze in MySQL ab

Inhaltsverzeichnis Normale Paging-Abfrage So opti...

Beispiel einer Autorisierungsüberprüfungsmethode von Nest.js

Inhaltsverzeichnis 0x0 Einführung 0x1 RBAC-Implem...

So konfigurieren Sie den Whitelist-Zugriff in MySQL

Schritte zum Konfigurieren des Whitelist-Zugriffs...

So erhalten Sie den Inhalt einer TXT-Datei über FileReader in JS

Inhaltsverzeichnis JS erhält den Inhalt der TXT-D...

Verwenden Sie CSS, um die Breite von INPUT in TD festzulegen

Als ich kürzlich mit C# ein Webprogramm erstellte,...