Управление учетными записями системы онлайн урок.


Для того, чтобы создать нового пользователя в системе MySQL необходимо:

  • войти в систему от имени пользователя, у которого есть права для создания новых учетных записей, например root

  • задать для пользователя имя / пароль, указав дополнительно сервер (IP-адрес). В случае, если работа с MySQL проходит та том же сервере, то сервер указывается как localhost.

  • задать права доступа к базам данных и таблицам

  • сохранить изменения


Для создания пользователя используется оператор CREATE USER. В этом предложении необходимо также указать сервер и пароль. Базовая конструкция такого запроса выглядит так:

CREATE USER 'имя_пользователя'@'сервер' IDENTIFIED BY 'пароль'

Например, создадим нового пользователя bobby на сервере localhost с паролем devionity:

CREATE USER 'bobby'@'localhost' IDENTIFIED BY 'devionity';

Для того, чтобы просмотреть список пользователей и убедится, что мы действительно добавили нового, необходимо исполнить запрос

SELECT user FROM mysql.user;

Этот запрос обращается к таблице user системной базы данных MySQL.

Далее необходимо задать права доступа этому пользователю. Для этого необходимо использовать предложение GRANT, в котором указать к каким БД, таблицам он может обращаться и какие права доступа у него к этим БД и таблицам (просмотр, редактирование, удаление и т.п.):

GRANT указать_права ON база_данных.таблица TO 'имя_пользователя'@'сервер'

Указать права можно ключевыми словами:

  • CREATE - создание БД и таблиц

  • DROP - удаление БД и таблиц.

  • DELETE - удаление записей из таблиц.

  • INSERT - добавление записей в таблицу.

  • SELECT - выборки из таблиц.

  • UPDATE - обновление данных таблиц.

  • ALL PRIVILEGES - полный доступ

  • GRANT OPTION - право назначения доступа другим пользователям


Если требуется дать конкретные права для всех БД и таблиц, то можно вместо названий записать *. Например

GRANT SELECT ON *.* TO 'bobby'@'localhost';

После этого обновляем изменения

FLUSH PREVILEGES

Таким образом пользователь bobby сможет только просматривать таблицы.

Для того, чтобы зайти в систему под новым пользователем, необходимо исполнить команду exit для выхода под текущим пользователем, а потом исполнить команду

mysql -u bobby -p

и ввести пароль. Далее проверим, действительно ли мы не можем создавать базы данных. Попробуем исполнить запрос

CREATE DATABASE blah;

в результате получим ошибку:

ERROR 1044 (42000): Access denied for user 'bobby'@'localhost' to database 'blah'

Для удаления пользователя необходимо исполнить запрос

DROP USER 'пользователь'@'сервер'