Какая минимальная привилегия необходима для изменения ограничения внешнего ключа?
Мой скрипт миграции перестал работать после того, как MySQL 5.5.41 исправил эту ошибку:
- InnoDB разрешил создание внешнего ключа, который ссылался на родительскую таблицу, для которой у пользователя не было достаточных привилегий. (Ошибка № 18790730)
Я получаю эту ошибку:
SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: команда 1142 REFERENCES запрещена пользователю 'foo' @ 'localhost' для таблицы 'core.users' (SQL: изменить таблицу `user_baz` добавить ограничение user_baz_user_id_foreign внешний ключ (` user_id`) ссылки `core` .users` (` id`) при удалении каскада при обновлении каскада)
Что означает, что мне нужно исправить привилегии. Какая минимальная привилегия мне нужна?
GRANT REFERENCES ON test.user_baz TO 'foo'@'localhost';
Например:
источник
Во-первых, если ничего не помогает, прочтите документацию (раздел «Замечания по использованию»).
Ниже приведен пример.
источник