Qual è il privilegio minimo necessario per modificare un vincolo di chiave esterna?
Il mio script di migrazione ha smesso di funzionare dopo che MySQL 5.5.41 ha corretto questo errore:
- InnoDB ha consentito la creazione di una chiave esterna che faceva riferimento a una tabella padre per la quale l'utente non disponeva di privilegi sufficienti. (Bug # 18790730)
Ottengo questo errore:
SQLSTATE [42000]: errore di sintassi o violazione di accesso: 1142 RIFERIMENTI comando negato all'utente 'pippo' @ 'localhost' per la tabella 'core.users' (SQL: alterare la tabella `user_baz` aggiungere vincolo user_baz_user_id_foreign chiave esterna (` user_id`) riferimenti `core``users` (` id`) su delete cascade su update cascade)
Ciò significa che devo correggere i privilegi. Qual è il privilegio minimo di cui ho bisogno?
GRANT REFERENCES ON test.user_baz TO 'foo'@'localhost';