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

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

DDD
Freigeben: 2024-12-10 11:18:11
Original
799 Leute haben es durchsucht

How to Resolve MySQL Error 1449:

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:

  • Der Benutzer, der das Objekt in der ursprünglichen Datenbank definiert hat, ist in der aktuellen Datenbank oder auf dem aktuellen Server nicht vorhanden.

Lösungen:

Option 1: Ändern Sie die Definierer

Für Ansichten:

  1. 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';
    Nach dem Login kopieren
  2. Kopieren Sie die ALTER-Anweisungen und führen Sie sie aus.

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@%'
Nach dem Login kopieren

Option 2: Erstellen Sie den fehlenden Benutzer

  1. Erstellen Sie den fehlenden Benutzer mit dem entsprechenden Privilegien:

    • Für lokale Entwicklungsserver:

      GRANT ALL ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password';
      FLUSH PRIVILEGES;
      Nach dem Login kopieren
    • Für MariaDB:

      GRANT ALL PRIVILEGES ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password';
      FLUSH PRIVILEGES;
      Nach dem Login kopieren
  2. Gewähren Sie nur das Notwendige Privilegien.

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!

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