- •Основы работы в субд mysql методические указания
- •1. Установка и настройка субд mysql
- •2. Создание учетных записей в mysql
- •3. Задание на лабораторную работу
- •1. Создание и работа с базами данных mysql
- •2. Задание на лабораторную работу
- •Библиографический список
- •Содержание
- •Основы работы в субд mysql методические указания
- •394026 Воронеж, Московский просп., 14
2. Создание учетных записей в mysql
С точки зрения безопасности повседневной работы следует использовать учетную запись, отличную от учетной записи корневого пользователя. Создать учетную запись для ежедневного использования можно с помощью команды GRANT, которая предоставляет соответствующие привилегии пользователю. Привилегиями определяются возможности доступа пользователей к базам данных, таблицам и т.д. Команда GRANT имеет следующий формат:
GRANT (привилегии) ON (база данных) TO ‘(пользователь)’@’(узел)’ IDENTIFIED BY ‘(пароль)’
В MySQL существуют три группы привилегий: данные, структура, администрирование. Первая группа связана с изменением записей в таблицах, вторая группа связана с изменением структуры базы данных, третья связана с администрированием.
Привилегии каждой их этих групп, которые можно присваивать пользователю, представлены в таблице 1.
Таблица 1
Привилегии пользователя в MySQL
Привилегия |
Содержание |
Права на управление данными в таблицах |
|
SELECT |
Пользователям позволяется делать запросы к таблицам |
INSERT |
Пользователям позволяется вставлять данные в таблицу |
UPDATE |
Пользователям разрешается обновлять записи в таблице
|
DELETE |
Пользователям разрешается удалять записи из таблицы
|
FILE |
Пользователям разрешается делать выборку записей и записывать данные в файл, а также считывать их оттуда |
Права на изменение структуры таблиц и базы данных |
|
CREATE |
Пользователям позволяется создавать таблицы |
ALTER |
Пользователям позволяется переименовывать таблицы, вставлять новые поля, удалять поля, модифицировать их |
INDEX |
Пользователям позволяется создавать индекс по определенному полю и удалять его |
DROP |
Пользователям позволяется удалять таблицы и целые базы данных |
Продолжение таблицы 1
Привилегия |
Содержание |
CREATE TEMPORARY TABLES |
Пользователям дается возможность создавать временные таблицы, которые хранятся во время сессии, а по окончании автоматически удаляются |
Права на администрирование баз данных |
|
GRANT |
Позволяет создавать новых пользователей, менять права у существующих |
SUPER |
Позволяет использовать команду “kill”, которая убивает поток – текущее подключение другого пользователя к базе данных |
PROCESS |
Позволяет выполнить команду “processlist”, показывающую список потоков
|
RELOAD |
Позволяет открывать и закрывать файлы журналов и перечитывать таблицы привилегий пользователей |
SHUTDOWN |
Позволяет выполнять команду “shutdown”, которая отключает работу сервера |
SHOW DATABASES |
Разрешается выводить список баз данных |
LOCK TABLES |
Позволяет блокировать таблицы от указанных потоков |
EXECUTE |
Позволяет запускать хранимые процедуры |
REPLICATION CLIENT |
Дает право находить местоположение ведущего и ведомых серверов |
REPLICATION SLAVE |
Позволяет читать ведомым журнал ведущего сервера |
Продолжение таблицы 1
Привилегия |
Содержание |
MAX QUERIES PER HOUR |
Максимальное количество запросов в час, которое может отправить пользователь |
MAX UPDATES PER HOUR |
Максимальное количество команд в час, которые изменяют либо таблицу, либо базу данных |
MAX CONNECTIONS PER HOUR |
Максимальное количество подключений в час, которое может делать пользователь |
USAGE |
У пользователя нет привилегий |
ALL |
Дается полный доступ ко всей базе данных |
OPTION |
Пользователям разрешается давать привилегии |
На рис.13 представлен пример создания учетной записи пользователя user1.
Рис.13. Создание учетной записи
Запись *.* означает, что у этого пользователя есть доступ ко всем базам данных.
Также можно создать учетную запись пользователя как показано на рис.14.
Рис. 14. Создание учетной записи
Теперь необходимо отключиться от сервера и снова зарегистрироваться с установленным именем и паролем.
Рис.15. Регистрация пользователя
Посмотреть список всех пользователей можно с помощью команды SELECT USER (рис.16).
Посмотреть список привилегий конкретного пользователя можно с помощью команды SHOW GRANTS. В результате появится сообщение вида, представленного на рис. 17.
Удалить права пользователя администратор может с помощью команды REVOKE:
REVOKE (привилегии) ON (база_данных.*) FROM ‘(пользователь)’@’(узел)’
Чтобы отменить доступ ко всем базам данных, необходимо ввести *.* вместо база_данных.*. Чтобы отменить все привилегии, необходимо вместо перечисления привилегий - (привилегии) – ввести ALL.
Рис. 16. Список всех пользователей
Рис.17. Список привилегий пользователя
Полностью удалить учетную запись можно командой DELETE. Для этого необходимо зайти с правами администратора и выбрать для использования основную базу mysql с помощью команды USE. Далее с помощью команды SHOW TABLES нужно посмотреть, какие таблицы в ней существуют. В результате получится сообщение, похожее на представленное на рис.18.
Рис. 18. Просмотр таблиц
В таблице user хранится информация о пользователях. С помощью одной из форм команды SELECT можно выбрать нужное поле, в данном случае искомые поля – host (узел) и user (пользователь) (рис.19).
Рис.19. Просмотр полей таблицы
После получения информации, можно удалить пользователя user1 с помощью команды DELETE (рис.20):
DELETE FROM имя_таблицы WHERE поле=’значение’;
Рис. 20. Удаление пользователя
Команда FLUSH PRIVILEGES нужна, чтобы обновить разрешения.