Отменить доступ к одной из многих баз данных в MySQL

У меня есть несколько баз данных MySQL на сервере, БД 1, mysql и БД 2. Я создал пользователя пользователя А. Я хочу отозвать доступ для пользователя А только для одной БД, скажем, mysql, так как это будет иметь несколько таблиц журнала. Я попробовал базовый синтаксис REVOKE, который не работает.

revoke select on mysql.* from [email protected];

Обратите внимание, что отзыв должен происходить только для БД mysql, а не для БД 1 и БД 2.

можете показать вывод forSHOW GRANTS FOR [email protected];   —  person Sachindra    schedule 19.08.2020

+————————————————- ——+ | Гранты для пользователя @localhost | +————————————————- ——+ | ПРЕДОСТАВЬТЕ ВСЕ ПРИВИЛЕГИИ НА . КОМУ ‘user’@’localhost’ | +————————————————- ——+ 1 ряд в наборе (0,00 сек)   —  person Sachindra    schedule 19.08.2020

Пожалуйста, добавьте свою версию MySQL. До 8.0.16 вы не могли этого сделать, см. Как «вычесть» привилегии в MySQL, поэтому вам нужно будет удалить все права, а затем добавить привилегии для каждой БД.   —  person Sachindra    schedule 19.08.2020

@Solarflare, версия 14.14, дистрибутив 5.7.31   —  person Sachindra    schedule 19.08.2020

также, согласно предоставленной вами ссылке справки, REVOKE INSERT, UPDATE ON mysql.* FROM [email protected];, там написано ОШИБКА 1141 (42000): Неизвестная ошибка 1141   —  person Sachindra    schedule 19.08.2020

Источник: ledsshop.ru

Стиль жизни - Здоровье!