Grant Tables

Теперь рассмотрим как именно MySQL сервер хранит информацию о привилегиях пользователей. В словаре данных, который находится в служебной базе mysql, есть следующие таблицы: user, db, tables_priv, columns_priv, procs_priv. Именно в них и хранятся записи о привилегиях пользователей. Каждая из этих таблиц соответствует своему уровню привилегий: Continue reading

Работа с привилегиями пользователей

Команда GRANT

Команда GRANT используется для создания нового аккаунта или модификации уже существующего аккаунта: (сменить пароль или выдать какие-то привилегии). Синтаксис команды Grant следующий:

GRANT SELECT ON mydb.* TO ‘mike’@’localhost’ IDENTIFIED BY ‘qwerty’;

В данном примере команда grant используется для выдачи привилегии SELECT на все таблицы в базе данных mydb пользователю mike, который должен коннектиться с локального хоста с паролем ‘qwerty’. Continue reading

Авторизация

Авторизация пользователя, уже успешно прощедшего аутентификацию, заключается в том, чтобы сопоставить данного пользователя с его привилегиями (правами) в базе данных, т.е. определить, какие операции в базе разрешено ему выполнять. К таким привилегиям в могут относиться, например, разрешение выполнять команды DML: SELECT, INSERT, DELETE, UPDATE. Это могут быть также права на выполнение каких-либо административных функций или специфических функций такие, как LOAD DATA INFILE и т.п. Continue reading