Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
175.doc
Скачиваний:
19
Добавлен:
30.04.2022
Размер:
1.13 Mб
Скачать

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 нужна, чтобы обновить разрешения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]