MySQL-Fehler 1449: Der als Definierer angegebene Benutzer existiert nicht
Dieser Fehler tritt normalerweise beim Importieren von Ansichten, Triggern oder Prozeduren aus auf eine andere Datenbank, in der der Ersteller des Objekts nicht mehr vorhanden ist existiert.
Ursache:
Lösungen:
Option 1: Ändern Sie die Definierer
Für Ansichten:
ALTER-Anweisungen mit diesem SQL generieren:
SELECT CONCAT("ALTER DEFINER=youruser@host VIEW ", table_name, " AS ", view_definition, ";") FROM information_schema.views WHERE table_schema='your-database-name';
Für Stored Verfahren:
Verwenden Sie die folgende Syntax und ersetzen Sie „IhrBenutzer“ durch den gewünschten Benutzer:
UPDATE `mysql`.`proc` p SET definer = 'user@%' WHERE definer='root@%'
Option 2: Erstellen Sie den fehlenden Benutzer
Erstellen Sie den fehlenden Benutzer mit dem entsprechenden Privilegien:
Für lokale Entwicklungsserver:
GRANT ALL ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password'; FLUSH PRIVILEGES;
Für MariaDB:
GRANT ALL PRIVILEGES ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password'; FLUSH PRIVILEGES;
Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1449: „Der als Definierer angegebene Benutzer existiert nicht'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!