Отключить доступ к базе данных

#mysql #sql #ubuntu #permissions

#mysql #sql #ubuntu #разрешения

Вопрос:

Я создал сервер MySQL. Теперь пользователь login имеет доступ ко всем базам данных. Я хочу, чтобы у этого пользователя не было доступа (поэтому он ничего не может сделать) к 3 базам данных:

  • information_schema
  • mysql
  • phpmyadmin

Таким образом, пользователь может использовать все базы данных, кроме этих 3. Как я могу это сделать?

Комментарии:

1. Я написал ответ на ServerFault о разрешениях MySQL . Существует множество ресурсов для выполнения подобных действий, но это дает краткий обзор того, как и почему

Ответ №1:

Краткая версия того, как это сделать (которая в основном объясняется в ссылке, которую я разместил выше):

  • Вам нужны REVOKE GLOBAL этого пользователя — это потому, что система привилегий MySQL является нисходящей. Если у них есть GLOBAL привилегия на SELECT , то это относится ко всем вашим базам данных
  • Затем вам нужно GRANT указать правильные привилегии для тех, к которым ему действительно нужен доступ (для этого вы можете использовать подстановочные знаки)

Важно отметить, что в MySQL нет понятия привилегии «ЗАПРЕТИТЬ».

Комментарии:

1. Спасибо :). Deny хотя было бы здорово.