MySQL использует многоуровневую модель управления доступом, т.е. е. Вы можете указать привилегии на глобальном уровне, уровне базы данных, таблицы и даже на уровне столбца.
Я не думаю, что вы можете делать именно то, что вы хотите - привилегии MySQL вращаются вокруг учетной записи пользователя. Установка разрешений по базе данных будет означать, что таблицы привилегий должны запрашиваться в обратном порядке, а это не так. Я попытался использовать% для пользователя, но это тоже не сработало.
Так что я думаю, что вы застряли без решения вашей конкретной проблемы.
Что касается разрешений в целом:
Хотя вы можете изменить их вручную, используя операторы GRANT
, лично я считаю это утомительным. Вместо этого я рекомендую вам использовать MySQL Administrator Tool из MySQL GUI Tools .
Если вы изменяете таблицы привилегий напрямую - что возможно, но не обязательно рекомендуется - помните, что вы должны ввести команду FLUSH PRIVILEGES
, чтобы эти изменения вступили в силу.
Это позволит вам визуально настроить разрешения. Я не могу вспомнить, можете ли вы заранее увидеть операторы GRANT
, но вы, конечно, всегда можете взглянуть на них позже с оператором SHOW GRANTS FOR user@'host'
.
Одно предостережение, если вы никогда не использовали инструмент раньше: вам придется перейти в меню Инструменты / Опции и включить " Показать глобальные привилегии ", " Показать Привилегии объекта схемы"и" Показать хосты в списке пользователей", чтобы включить полный доступ к более точной конфигурации разрешений - в противном случае будут показаны только глобальные привилегии.