Autor Thema: Views: fehlende SUPER Privileges für das Einspielen meiner SQL Sicherung  (Gelesen 1175 mal)

Offline A.Büggeln - Profihost

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 503
    • Profil anzeigen
Bei Einspielen einer Datenbank Sicherung, welche Views enthält, kann es zu folgender Fehlermeldung kommen:

ERROR 1227 (42000) at line X: Access denied; you need (at least one of) the
SUPER privilege(s) for this operation

Diese Meldung ist typisch, wenn Sie die Sicherung extern erstellt oder die Sicherung bei uns erzeugt und die Sicherung in eine neue / andere Datenbank einspielen wollen.

Hintergrund ist hier das sog. DEFINER Attribut, welches mit Benutzerrechten arbeitet.

Die Benutzer Namen müssen auf den Ziel Benutzer der neuen Datenbank angepasst werden.

Beispiel aus sicherung.sql:

/*!50013 DEFINER=`USERALT`@`localhost` SQL SECURITY DEFINER */
Lösung mittels "sed" Bash Programm:

sed -i -e 's/USERALT/USERNEU/g' sicherung.sql
Wichtig:
Sind die Views mit "`USERALT`@`127.0.0.1`" angelegt, müssen Sie bei Einspielen der Sicherung auch ein "-h 127.0.0.1" als Option angeben, da ansonten ebenfalls fehlende Super Privileges bemängelt werden.

Alternativ können Sie die Sicherung je nach Größe auch mit einem Texteditor lokal oder auf dem Server editieren.
Mit freundlichen Grüßen
Andreas Büggeln
Profihost Team

Impressum