Quel est le privilège minimum nécessaire pour modifier une contrainte de clé étrangère?
Mon script de migration a cessé de fonctionner après que MySQL 5.5.41 a corrigé ce bogue:
- InnoDB a permis la création d'une clé étrangère faisant référence à une table parent pour laquelle l'utilisateur ne disposait pas de privilèges suffisants. (Bogue n ° 18790730)
Je reçois cette erreur:
SQLSTATE [42000]: erreur de syntaxe ou violation d'accès: 1142 commande REFERENCES refusée à l'utilisateur 'foo' @ 'localhost' pour la table 'core.users' (SQL: alter table `user_baz` add constraint user_baz_user_id_foreign) clé étrangère références (` user_id`) `core`.`users` (` id`) sur la cascade de suppression sur la cascade de mise à jour)
Ce qui signifie que je dois réparer les privilèges. Quel est le privilège minimum dont j'ai besoin?
GRANT REFERENCES ON test.user_baz TO 'foo'@'localhost';
Par exemple:
la source
Tout d'abord, si tout le reste échoue, lisez la documentation (section Notes d'utilisation).
Voici un exemple.
la source