Оглавление

4.2. Создание пользователя базы данных

После создания базы данных необходимо создать пользователя базы данных и назначить ему полномочия. Полномочия (или привилегии) — это права определенного пользователя выполнять определенные действия над определенным объектом. Пользователь должен обладать наименьшим набором привилегий, необходимых для выполнения конкретных задач.

 
Создание и назначение полномочий осуществляются SQL-командой:
GRANT <Привилегии> [<Столбцы>]
ON <База данных>.<Таблица>
TO <Имя пользователя> [IDENTIFIED BY '<Пароль>']
[WITH GRANT OPTION];

 
В параметре <Привилегии> могут быть указаны через запятую следующие полномочия:
□ ALL или ALL PRIVILEGES — все полномочия;
□ USAGE — без всех полномочий;
□ SELECT — возможность выбирать записи в таблицах;

□ INSERT — право вставлять новые записи в таблицы;
□ UPDATE — полномочия изменять значения в существующих полях таблиц;
□ DELETE — разрешение удалять записи;
□ FILE — возможность сохранять данные из таблиц в файл и, наоборот, восстанавливать их из файла;
□ CREATE — право создавать новые базы данных или таблицы. Если в команде GRANT указана определенная база данных или таблица, то пользователь может создавать только указанную базу данных или таблицу;
□ ALTER — полномочия изменять структуру существующих таблиц;
□ INDEX — право создавать и удалять индексы определенных таблиц;
□ DROP — возможность удаления базы данных или таблицы;
□ PROCESS — разрешение просматривать и удалять процессы на сервере;
□ RELOAD — возможность перезагружать таблицы полномочий;
□ SHUTDOWN — право останавливать сервер MySQL.

 

В необязательном параметре <Столбцы> может быть указан список имен столбцов, разделенных запятыми, к которым применяются привилегии.

 
В параметре <База данных>.<Таблица> может быть указано:
□ *.* или * — полномочия предоставляются для всех баз данных в целом;
□ <Имя базы данных>.* — полномочия для всех таблиц указанной базы данных;
□ <Имя базы данных>.<Имя таблицы> — привилегии относятся только к указанной таблице в указанной базе данных. Если дополнительно указан параметр <Столбцы>, то полномочия назначаются для указанных столбцов.

 
В параметре <Имя пользователя> указывается имя пользователя (например, den) или Имя_пользователя@Имя_хоста (например, den@localhost). Новому пользователю можно назначить пароль.
Если указана опция WITH GRANT OPTION, то пользователь может предоставлять свои полномочия другим.

 

Создадим нового пользователя с именем den и назначим ему ограниченные привилегии. Для этого на вкладке SQL набираем следующую команду:
GRANT select, insert, update, delete, index, alter, create, drop
ON `tests`.*
TO den@localhost IDENTIFIED BY '123';

и нажимаем кнопку OK. В итоге отобразится надпись "Ваш SQL-запрос был успешно выполнен (Запрос занял 0.0003 сек)".

 

После создания пользователя или изменения привилегий необходимо перезагрузить привилегии с помощью SQL-команды
FLUSH PRIVILEGES;

 

Для лишения пользователя полномочий используется команда SQL

REVOKE <Привилегии> [<Столбцы>]
ON <База данных>.<Таблица>
TO <Имя пользователя>;

 
Если полномочия были предоставлены опцией WITH GRANT OPTION, то удалить их можно с помощью команды SQL
REVOKE GRANT OPTION
ON <База данных>.<Таблица>
TO <Имя пользователя>;

 
Для удаления пользователя используется SQL-команда
DROP USER <Имя пользователя>;

 
Для просмотра прав пользователя предназначена команда SQL
SHOW GRANTS FOR '<Имя пользователя>'@'<Хост>';

 
Для примера выведем полномочия созданного пользователя den:
SHOW GRANTS FOR 'den'@'localhost';

3
<< Меню >>  
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити