Управление доступом: использование таблиц полномочий в среде MySQL

Используя таблицы полномочий, MySQL определяет действия, которые разрешено выполнять пользователю, в ходе двухэтапного процесса:
1. Проверка права на подключение. На этом этапе на основе информации, полученной из таблицы user, MySQL проверяет, имеет ли пользователь право на подключение. Эта аутентификация выполняется на основе имени пользователя, имени хоста и пароля. Если поле имени пользователя пустое, оно соответствует всем пользователям. Имена хостов можно указывать с использованием группового символа (%). Этот символ может использоваться в качестве полного значения поля (то есть символ % соответствует всем хостам) или в качестве части имени хоста (например, %. tangledweb.com.au соответствует всем хостам, имена которых заканчиваются строкой .tangledweb.com.au). Если поле пароля пустое, пароль для подключения не требуется. Однако система будет защищена в большей степени, если избегать применения пустых полей для имен пользователей, групповых символов в именах хостов и пользователей без паролей. Если поле имени хоста пустое, для поиска соответствующих записей user и host MySQL обращается к таблице host.
2. Проверка права на выполнение запросов. После того как соединение с сервером установлено, при каждом вводе запроса MySQL проверяет наличие соответствующего уровня полномочий для выполнения этого запроса. Система начинает проверку с глобальных полномочий (в таблице user) и, если этих полномочий недостаточно, проверяет таблицы db и host. Если и этих полномочий недостаточно, MySQL проверит таблицу tables_priv и, наконец, если и этого окажется мало — таблицу columns_priv.