
БД 3 курс осень / БД9 (1)
.docxГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Ассистент |
|
|
|
Б.К.Акопян |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №9 |
ПОЛЬЗОВАТЕЛЬСКИЕ ПРИВИЛЕГИИ |
по курсу: БАЗЫ ДАННЫХ |
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ гр. № |
4116 |
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2023
Цель работы : получение практических навыков по администрированию СУБД MySQL.
Вариант 21.
Организация спортивного мероприятия
В Гуапландии любят спорт. Спортивная инфраструктура страны представлена спортивными сооружениями различного типа: спортивные залы, манежи, стадионы, корты и т.д. Каждая из категорий спортивных сооружений обладает атрибутами, специфичными только для нее: стадион характеризуется вместимостью, корт – типом покрытия. Гуапчане-спортсмены под руководством тренеров занимаются отдельными видами спорта, при этом один и тот же спортсмен может заниматься несколькими видами спорта, и в рамках одного и того же вида спорта может тренироваться у нескольких тренеров. Все спортсмены объединяются в спортивные клубы, при этом каждый из них может выступать только за один клуб. Организаторы соревнований проводят состязания по отдельным видам спорта на спортивных сооружениях города. По результатам участия спортсменов в соревнованиях производится награждение.
Ход работы:
Упражнение 1. Просмотр всех пользователей с помощью системной таблицы БД mysql
Открыт консольный клиент Command Line Client – Unicode, введен пароль, открыта системная БД mysql, в которой указаны все авторизованные пользователи (рисунок 1) .
Рисунок 1-Просмотр авторизованных пользователей
Выполнена команда: mysql> SELECT * FROM mysql.user\G, фрагменты ответа сервера показаны на рисунках 2,3.
Рисунок 2- Фрагмент ответа сервера по привилегиям пользователя mysql.infoschema
Рисунок 3- Фрагмент ответа сервера по привилегиям пользователя root
Далее выполнен просмотр списка глобальных переменных (рисунок 4)
Рисунок 4- фрагмент списка глобальных переменных
Выведен список привилегий на базы данных (рисунок 5)
Рисунок 5- Фрагмент списка привилегий на базы данных
Просмотрены права назначенные на таблицы (рисунок 6,7)
Рисунок 6- Права пользователей на таблицы
Рисунок 7- Отсутствие прав доступа пользователей к таблицам
Упражнение. Проверка полномочий доступа к данным через БД information_schema
Выполнен запрос по проверке привилегий к БД (рисунок 8)
Рисунок 8- Просмотр привилегий к БД information_schema
Выполнен запрос по проверке привилегий на доступ к таблицам БД information_schema (рисунок 9)
Рисунок 9- Просмотр прав доступа к таблицам БД information_schema
Выполнен запрос по проверке привилегий на доступ к полям БД (рисунок 10)
Рисунок 10- Отсутствие прав доступа к полям БД information_schema
Выполнен запрос по проверке привилегий на доступ к таблицам БД для конкретного пользователя mysql.sys@localhost (рисунок 11).
Рисунок 11- Просмотр прав конкретного пользователя
Упражнение. Предоставление доступа пользователю MySQL
Создана БД test_db. Добавлен пользователь test_user, который работает только на локальном сервере (localhost) с правами на выполнение выборок данных из БД с помощью инструкции SELECT (рисунок 12).
Рисунок 12- создание БД и добавление пользователя
Далее пользователю предоставляется доступ (рисунок 13)
Рисунок 13- команды для предоставления доступа
Выполнена проверка записи о наличии нового пользователя в БД mysql (рисунок 14)
Рисунок 14- Запись о новом пользователе в системной БД mysql
Упражнение. Проверка текущих полномочий пользователя
Выполнены команды для просмотра привилегий пользователя (рисунок 15)
Рисунок 15- Список привилегий пользователя test_user@localhost
В БД добавлена новая таблица (рисунок 16)
Рисунок 16- Создание новой таблицы
Пользователю выданы права доступа (рисунок 17)
Рисунок 17- предоставление прав доступа пользователю
Предоставление доступа к столбцу (рисунок 18). Пользователь может читать идентификатор и менять имя пользователя.
Рисунок 18- предоставление пользователю доступа к столбцу
Проверены права пользователя (рисунок 19)
Рисунок 19- Просмотр новых привилегий пользователя test_user@localhost
Упражнение. Смена пароля
Для изменения пароля учетной записи пользователя применена команда ALTER USER (рисунок 20)
Рисунок 20- Изменение пароля пользователя
Упражнение. Отзыв полномочий у пользователя
На рисунке 21 показано удаление прав для пользователя test_user@localhost
Рисунок 21- Удаление прав пользователя
Упражнение. Удаление пользователя
Выполнены команды по удалению пользователя (рисунок 22).
Рисунок 22- Удаление пользователя test_user@localhost
Для того, чтобы убедиться, что пользователь удален выведен список пользователей (рисунок 23).
Рисунок 23- Список пользователей после удаления
Упражнение. Реализация БД на сервере на принципах low-code
Запущен MySQL Workbench и выполнено подключение к серверу БД, на панели Shemas выбрано Create Shemas (рисунок 24,25)
Рисунок 24- Определение параметров новой БД example_third
Рисунок 25- Процесс генерации скрипта по созданию БД example_third
После обновления списка БД на сервере, созданная БД появилась в списке (рисунок 26)
Рисунок 26- Результат создания БД
Упражнение. Администрирование пользователей в среде MySQL Workbench
Выполнен переход на вкладку Administration , в разделе MANAGMENT выбрано Users and Privileges (рисунок 27).
Рисунок 27- Исходные данные по пользователям и привилегиям
Для нового пользователя по доступу к БД example_third, выбрано Add Account (рисунок 28)
Рисунок 28- Установка параметров для подключения нового пользователя
Выполнен переход на вкладку Administrative Roles (рисунок 29). Просмотрены списки предлагаемых по умолчанию ролей пользователя и глобальных привилегий.
Рисунок 29- Список предлагаемых по умолчанию ролей пользователя
Для добавления привилегий пользователю выбрано Add Entry (рисунок 30)
Рисунок 30- Выбор БД, на которую будут выданы разрешения пользователю
Определены права (рисунок 31)
Рисунок 31- Установление прав на манипулирование и создание объектов БД
Далее выполнен запрос на просмотр прав пользователя (рисунок 32)
Рисунок 32- Просмотр прав пользователя newuser на работу с БД
Модель данных из прошлой лабораторной работы открыта в формате .mwb (рисунок 33)
Рисунок 33- модель данных
На основе анализа предметной области выявлены пользователи БД
Таблица 1- пользователи БД sport
Пользователь |
Полный доступ к БД |
Доступ к конкретной таблице |
Модификация объектов БД |
Администратор |
да |
да |
да |
Организатор |
нет |
да |
да |
Тренер |
нет |
нет |
нет |
Сначала создается пользователь администратор (рисунок 34), которому присваиваются все привилегии (рисунок 35)
Рисунок 34- Создание пользователя администратор
Рисунок 35-Присвоение привилегий администратору
Создается пользователь организатор (рисунок 36), который имеет доступ редактирования таблицы «соревнования» (рисунок 37)
Рисунок 36- Создание пользователя организатор
Рисунок
37- Предоставление привилегий организатору
Также для редактирования таблицы «соревнования», организатор может просматривать таблицу «вид_спорта» и «спортивные_сооружения» (рисунок 38)
Рисунок 38- Предоставление привилегий организатору для чтения.
Для организатора был выведен список привилегий (рисунок 38).
Рисунок 39- Вывод списка привилегий для организатора
Создается пользователь тренер (рисунок 40), который не имеет никаких привилегий (рисунок 41)
Рисунок 40- Создание пользователя тренер
Рисунок 41- удаление всех привилегий для тренера
Рисунок 42- список пользователей
Создана роль «Редактор», которая назначена организатору и администратору (рисунок 43)
Рисунок 43- создание и присвоение роли «Редактор»
Создана роль «Специалист», которая присвоена тренеру (рисунок 44).
Рисунок 44- создание и присвоение роли «Специалист»
Рисунок 45- список созданных ролей
Вывод: получены практические навыки по администрированию СУБД MySQL.
Список используемых источников:
1. A.В. Аграновский, В.В. Боженко, Е.Л. Турнецкая. - Учебно-методическое пособие «Разработка и администрирование базы данных с открытым исходным кодом»‒ СПб.: ГУАП, 2022
2. Руководство по MySQL: https://metanit.com/sql/mysql.