Heim > Datenbank > MySQL-Tutorial > MySQL-Fehler 1449: Wie behebt man „Der als Definierer angegebene Benutzer existiert nicht'?

MySQL-Fehler 1449: Wie behebt man „Der als Definierer angegebene Benutzer existiert nicht'?

DDD
Freigeben: 2024-12-03 17:09:18
Original
848 Leute haben es durchsucht

MySQL Error 1449: How to Fix

MySQL-Fehler 1449: Der als Definierer angegebene Benutzer

Der MySQL-Fehler 1449: „Der als Definierer angegebene Benutzer („web2vi“ @'%') existiert nicht“ zeigt an, dass der Benutzer, der ein Datenbankobjekt (z. B. eine Ansicht, einen Trigger oder eine Prozedur) erstellt hat, nicht mehr in existiert die Datenbank. Dies geschieht typischerweise beim Exportieren und Importieren von Datenbankobjekten zwischen verschiedenen Datenbanken oder Servern.

Beheben des Fehlers

Es gibt zwei mögliche Lösungen für diesen Fehler:

1. Ändern Sie den DEFINER

  • Für Ansichten: Erstellen Sie ALTER-Anweisungen, um die Ansichtsdefinitionen zu aktualisieren, und entfernen Sie alle DEFINER-Anweisungen.
  • Für gespeicherte Prozeduren : Verwenden Sie eine UPDATE-Anweisung, um den Definierer für die gespeicherte Prozedur zu ändern. Dies wirkt sich jedoch auf alle Datenbanken auf dem Server aus.

2. Erstellen Sie den fehlenden Benutzer

  • Erstellen Sie den fehlenden Benutzer mit denselben Berechtigungen wie der ursprüngliche Benutzer, der das Objekt erstellt hat.
  • Gewähren Sie dem neuen Benutzer die erforderlichen Berechtigungen.
  • Verwenden Sie den Befehl FLUSH PRIVILEGES, um die Berechtigungen zu aktualisieren Cache.

Beispiel für die Verwendung von Option 2

Wenn der fehlende Benutzer „root“ ist, verwenden Sie die folgenden Befehle:

GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;
Nach dem Login kopieren

Alternativ für MariaDB:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;
Nach dem Login kopieren

Nach dem Erstellen des fehlenden Benutzers sollte der Fehler beim Ausführen nicht mehr auftreten die Abfrage.

Das obige ist der detaillierte Inhalt vonMySQL-Fehler 1449: Wie behebt man „Der als Definierer angegebene Benutzer existiert nicht'?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage