Создание пользователя базы данных
- Главная
- >>>
- Раздел>>>sql
- >>>
- Материал>>>
-
После создания базы данных необходимо создать пользователя базы данных и назначить ему полномочия. Полномочия (или привилегии) — это права определенного пользователя выполнять определенные действия над определенным объектом. Пользователь должен обладать наименьшим набором привилегий, необходимых для выполнения конкретных задач.
Создание и назначение полномочий осуществляются 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';
Просмотров материала: 551
Добавить комментарий: