¿Cuál es el privilegio mínimo necesario para alterar una restricción de clave externa?
Mi script de migración dejó de funcionar después de que MySQL 5.5.41 solucionó este error:
- InnoDB permitió la creación de una clave externa que hacía referencia a una tabla primaria para la cual el usuario no tenía suficientes privilegios. (Error # 18790730)
Me sale este error:
SQLSTATE [42000]: Error de sintaxis o violación de acceso: 1142 REFERENCIAS comando denegado al usuario 'foo' @ 'localhost' para la tabla 'core.users' (SQL: alterar tabla `user_baz` agregar restricción user_baz_user_id_foreign clave externa (` user_id`) referencias `core` .users` (` id`) en delete cascade en update cascade)
Lo que significa que necesito arreglar los privilegios. ¿Cuál es el privilegio mínimo que necesito?
GRANT REFERENCES ON test.user_baz TO 'foo'@'localhost';
Por ejemplo:
fuente
En primer lugar, si todo lo demás falla, lea la documentación (sección Notas de uso).
A continuación se muestra un ejemplo.
fuente