Was ist das Mindestprivileg, das zum Ändern einer Fremdschlüsseleinschränkung erforderlich ist?
Mein Migrationsskript funktionierte nicht mehr, nachdem MySQL 5.5.41 diesen Fehler behoben hatte:
- InnoDB erlaubte die Erstellung eines Fremdschlüssels, der auf eine übergeordnete Tabelle verwies, für die der Benutzer nicht über ausreichende Berechtigungen verfügte. (Fehler # 18790730)
Ich erhalte diesen Fehler:
SQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1142 REFERENCES-Befehl für Benutzer 'foo' @ 'localhost' für Tabelle 'core.users' verweigert (SQL: alter table `user_baz` Einschränkung hinzufügen user_baz_user_id_foreign Fremdschlüsselreferenzen (` user_id`) `core`.`users` (` id`) bei Löschkaskade bei Update-Kaskade)
Was bedeutet, dass ich die Berechtigungen korrigieren muss. Was ist das Mindestprivileg, das ich brauche?
GRANT REFERENCES ON test.user_baz TO 'foo'@'localhost';
Zum Beispiel:
quelle
Wenn alles andere fehlschlägt, lesen Sie zunächst die Dokumentation (Abschnitt Verwendungshinweise).
Unten ist ein Beispiel.
quelle