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

CentOS 6 Kompilieren und installieren Sie ZLMediaKit-Analyse

Installieren Sie ZLMediaKit auf centos6 Der Autor...

JavaScript zum Erzielen eines Zeitbereichseffekts

In diesem Artikel wird der spezifische Code für J...

Webprojektentwicklung VUE-Mischungs- und Vererbungsprinzip

Inhaltsverzeichnis Mischen Mixin-Hinweis (doppelt...

Dieser Artikel zeigt Ihnen, wie Sie CSS wie JS-Module importieren

Inhaltsverzeichnis Vorwort Was sind erstellbare S...

So stellen Sie Dienste in Windows Server 2016 bereit (Grafisches Tutorial)

Einführung Wenn eine große Anzahl an Systemen ins...

Floaten und Floaten löschen in der Übersichtsseite

1. Float: Der Hauptzweck besteht darin, den Effek...

So stellen Sie MySQL so ein, dass die Groß-/Kleinschreibung nicht beachtet wird

MySQL auf Groß-/Kleinschreibung eingestellt Windo...