36695

Администрирование СУБД MySQL. Работа с таблицами системной базы данных mysql

Лабораторная работа

Информатика, кибернетика и программирование

Откройте их с помощью команд [ltF3] и [ltF4] и зайдите в систему под именем любого пользователя например user. В лабораторной работе создаваемые пользователи обозначаются user1 и user2. То есть вам необходимо подставить вместо user1 и user2 имена ivnov1 и ivnov2. Выполните команду для добавления пользователя user1 и задания ему привилегий: insert into user Host User Pssword Select_priv vlues ‘loclhost user1 pssword‘user1Y; Выполните команду для добавления пользователя user2 и задания ему привилегий: insert into...

Русский

2013-09-23

62 KB

21 чел.

Лабораторная работа № 9

Администрирование СУБД MySQL.

Работа с таблицами системной базы данных mysql 

По итогам выполнения лабораторной работы необходимо оформить отчет. В отчете должны содержаться номера заданий, команды, с помощью которых выполняются соответствующие действия, и результаты анализа возможности/невозможности выполнения действий для заданий, которые предусматривают такой анализ.

Этап I. Создание пользователей и задание им привилегий на доступ к БД и таблицам

  1.  После загрузки системы нажмите [Ctrl+Alt+F2] и в строке приглашения (login:) введите имя пользователя root, затем пароль.

Также для выполнения этой лабораторной работы вам понадобятся еще 2 терминала. Откройте их с помощью команд [Alt+F3] и [Alt+F4] и зайдите в систему под именем любого пользователя (например, user).

  1.  Запустите сервер MySQL с помощью команды  

service mysqld start   или   /etc/rc.d/init.d/mysqld start

  1.  Запустите утилиту-клиент mysql без параметров. Таким образом вы подключитесь к СУБД MySQL с правами привилегированного пользователя root, запись о котором по умолчанию содержится в системной БД mysql (root имеет все привилегии на доступ ко всем БД).

  1.  Выполните команду

use mysql 

для подключения к системной БД mysql.

Примечание. Далее необходимо создать двух  пользователей СУБД MySQL. Имена этих пользователей должны быть такими: ваша_фамилия1 и ваша_фамилия2 (например, ivanov1 и  ivanov2). В лабораторной работе создаваемые  пользователи обозначаются user1 и user2. То есть вам необходимо подставить вместо user1 и user2 имена ivanov1 и  ivanov2. Пароли можно вводить любые, не обязательно ivanov1 и  ivanov2.

Также необходимо будет создать две базы данных, имена которых должны быть такими: db_ваша_фамилия1 и db_ваша_фамилия2 (например, db_ivanov1 и db_ivanov2). В лабораторной работе создаваемые базы данных обозначаются db1 и db2. То есть вам необходимо подставить вместо db1 и db2 имена db_ivanov1 и  db_ivanov2.

  1.  Выполните команду для добавления пользователя user1 и задания ему привилегий:

insert into user (Host, User, Password, Select_priv)

values (‘localhost’, ’user1’, password(‘user1’),’Y’);

  1.  Выполните команду для добавления пользователя user2 и задания ему привилегий:

insert into user (Host, User, Password) values (‘localhost’, ’user2’, password(‘user2’));

  1.  Выполните команду для задания привилегий пользователю user1 на БД db1:

insert into db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Alter_priv, Index_priv)

values (‘localhost’, ‘db1’, ’user1’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’);

  1.  Выполните аналогичную команду для задания привилегий пользователю user2 на БД db2.

  1.  Выполните команду для задания привилегий пользователю user2 на БД db1:

insert into db (Host, Db, User, Select_priv, Insert_priv, Create_priv, Alter_priv)

values (‘localhost’, ’db1’, ‘user2’, ’Y’, ’Y’, ’Y’, ’Y’) ;

  1.  Выполните команду для задания привилегий пользователю user1 на таблицу colours БД db2:

insert into tables_priv (Host, Db, User, Table_name, Table_priv)

values (‘localhost’, ’db2’, ‘user1’, ’colours’, ’Select,Update,Delete’) ;

  1.  Выполните команду

flush privileges;

для вступления в силу заданных привилегий пользователей.

Этап II. Тестирование систем привилегий пользователей

Примечание. Работу в СУБД MySQL от имени пользователей root, user1 и user2 необходимо вести параллельно, подключившись с разных терминалов, открытых в начале выполнения лабораторной работы (см. п. 1 1-го этапа). Переключение между терминалами - [Alt+Fn].

  1.  Пользователь user1

Запустите утилиту-клиент mysql от имени пользователя user1 и подключитесь к системной БД mysql:

mysql -u user1 -p mysql

(здесь последнее слово mysql означает имя БД, к которой ведется подключение)

Выполните запрос на добавление нового пользователя с именем new_user (см. п. 5 или 6 1-го этапа).

Объясните результат выполнения запроса с точки зрения привилегий пользователя user1.

  1.  Пользователь user2

Запустите утилиту-клиент mysql от имени пользователя user2 и подключитесь к системной БД mysql

Объясните результат выполнения команды с точки зрения привилегий пользователя user2.

  1.  Пользователь user1

Создайте БД с именем db1 с помощью следующего запроса:

create database db1;

Подключитесь к ней с помощью команды

use db1;

В БД db1 создайте таблицы students и groups с помощью следующих SQL-запросов:

create table students (

id int not null auto_increment primary key,

surname varchar (50) not null,

name varchar (50) not null,

 birthdate date not null,

address text not null,

tel varchar (13),

course enum (‘1’,’2’,’3’,’4’,’5’,’6’) not null,

id_group int);

create table groups (

id int not null auto_increment primary key,

name varchar (10) not null);

Добавьте в таблицу groups записи для двух групп, например:

insert into groups (name) values (‘g1’);

Результат добавления данных в любую таблицу можно проконтролировать с помощью запроса

select * from имя_таблицы;

Добавьте в таблицу students записи для 5 студентов, так, чтобы двое учились в одной группе, а трое – в другой, например:

insert into students (surname, name, birthdate, address, tel, course, id_group)

values (‘Ivanov’, ‘Petr’, ‘1992-04-17’, ’Odessa’, ‘099-321-54-87’, ‘2’, 1);

  1.  Пользователь user2

Создайте БД с именем db2 и подключитесь к ней.

В БД db2 создайте таблицу days с помощью следующего SQL-запроса:

create table days (

id int not null auto_increment primary key,

name varchar (20) not null);

Добавьте в таблицу days записи для трех дней недели – понедельника, вторника и среды, например:

insert into days (name) values (‘Sunday’);

В БД db2 создайте таблицу colours с помощью следующего SQL-запроса:

create table colours (

id int not null auto_increment primary key,

name varchar (20) not null);

Добавьте в таблицу colours записи для трех цветов – красного, синего и белого, например:

insert into colours (name) values (‘green’);

  1.  Пользователь user1

Подключитесь к БД db2. Сделайте выборку всех записей из таблицы days. При работе с системной БД mysql (таблицей db) вы явно не указали, что пользователь user1 может просматривать БД db2. Объясните, почему просмотр БД db2 возможен.

Выполните запрос на добавление в таблицу days записи, например, для субботы. Объясните результат выполнения запроса с точки зрения привилегий пользователя user1 на БД db2.

Сделайте выборку всех записей из таблицы colours. Добавьте в нее запись для желтого цвета. Объясните результат выполнения запроса с точки зрения привилегий пользователя user1 на БД db2 и ее таблицу colours.

Обновите какую-либо запись в таблице colours, например:

update colours set name=’pink’ where id=2;

Объясните результат выполнения запроса с точки зрения привилегий пользователя user1 на БД db2 и ее таблицу colours.

Удалите запись для какого-либо цвета, например:

 

delete from colours where name=’orange’;

Объясните результат выполнения запроса с точки зрения привилегий пользователя user1 на БД db2 и ее таблицу colours.

  1.  Пользователь user2

Подключитесь к БД db1. Сделайте выборку всех записей из таблицы students.

Добавьте запись для еще одной группы в таблицу groups. Объясните результат выполнения запроса с точки зрения привилегий пользователя user2 на БД db1.

Удалите все записи из таблицы groups. Объясните результат выполнения запроса с точки зрения привилегий пользователя user2 на БД db1.

Создайте в БД db1 новую таблицу с именем test_table (поля: id типа int, не пустое; test_field типа text, не пустое; первичный ключ – поле id). Объясните результат выполнения запроса с точки зрения привилегий пользователя user2 на БД db1.

Добавьте к таблице test_table новый столбец description с помощью запроса:

alter table test_table add column description text;

Объясните результат выполнения запроса с точки зрения привилегий пользователя user2 на БД db1.

Удалите таблицу test с помощью запроса:

drop table test;

Объясните результат выполнения запроса с точки зрения привилегий пользователя user2 на БД db1.

Выход из клиентской утилиты mysql осуществляется с помощью команд

quit 

exit

или 

\q


 

А также другие работы, которые могут Вас заинтересовать

6091. Прессовые соединения 37 KB
  Прессовые соединения Прессовым называется соединение составных частей изделий с гарантированным натягом вследствие того, что размер охватываемой детали больше соответствующего размера охватывающей детали. Прессовые соединения передают рабочие нагруз...
6092. Механические муфты. Назначение и классификация муфт 33 KB
  Механические муфты. Назначение и классификация муфт Приводными муфтами (обычно просто муфтами) называются устройства, служащие для кинематической и силовой связи валов в приводах машин и механизмов. Муфты передают с одного вала на другой вращающий м...
6093. Состав горючих газов 32.23 KB
  Состав горючих газов. В состав газообразного топлива входят горючие и негорючие газы. Физико-химические и теплотехнические характеристики газового топлива обусловлены различием в составе горючих компонентов и наличием в газе негорючих газообразных к...
6094. Детали машин как научная дисциплина 30 KB
  Детали машин - научная дисциплина, включающая теорию, расчет и конструирование деталей общего назначения. Как отдельные детали и узлы любой машины, так и машина в целом должны удовлетворять следующим требованиям: работоспособности Работоспособным...
6095. SDI інтерфейс на основі модальних форм 33.71 KB
  SDI інтерфейс на основі модальних форм Хід роботи Створив новий проект, та підключив до нього форму Form2. Розмістив на формах необхідні компоненти. Викликаю другу форму як модальну за допомогою події OnClick від Button1, та в цій події вказав ф...
6096. Використання логічних операторів при пошуку 31.5 KB
  Використання логічних операторів при пошуку Для розширення можливостей пошуку за текстом використовуються логічні оператори. Необхідно враховувати, що всі слова-оператори повинні вводитись лише великими літерами OR Оператор OR використовується, якщо...
6097. Компоненты ЭИС. Предметная область. Детализация представлений ЭИС. Жизненный цикл ЭИС. 33.02 KB
  Компоненты ЭИС. Предметная область. Детализация представлений ЭИС. Жизненный цикл ЭИС. Компоненты ЭИС Все, что происходит в процессе функционирования материальных систем окружающего нас мира, может быть описано в форме сообщений. Сообщен...
6098. Молекулярная генетика. Характеристика ДНК 18.71 KB
  Молекулярная генетика. Модель ДНК в форме регулярной двойной спирали была предложена Дж. Уотсоном и Ф. Криком в 1953 г. Характеристика бета - спирали ДНК Правовращающая Двойная Антипараллельная Диаметр 1,8-22 нм, Шаг (виток) - 3,4 нм В шаге (витк...
6099. Організація ділових прийомів 25.19 KB
  Організація ділових прийомів План Організація і проведення прийомів. Види прийомів. Ділові питання вирішуються не тільки за столом переговорів, але і під час прийомів, які є найпоширенішою формою ділового протоколу. Прийоми - зібран...