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


 

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

61626. ВЫЧИТАНИЕ С ЗАНИМАНИЕМ ЕДИНИЦЫ ЧЕРЕЗ НЕСКОЛЬКО РАЗРЯДОВ ВИДА 30007-648 42.65 KB
  Складываем сотни 8 пишем под сотнями складываем единицы тысяч 2 пишем под единицами тысяч Что общего заметили у остальных выражений в уменьшаемом отсутствуют единицы некоторых разрядов.
61627. Уравнения. Учимся решать уравнения 25.62 KB
  Этапы урока Деятельность учителя Деятельность учащихся Теоретическое обоснование Молодцы А теперь посмотрим на эту таблицу: d 5 4 3 2 1 D5 11D Ребята объясните как изменятся сумма при изменении одного из слагаемых.
61628. Рисуем и измеряем. Продолжаем знакомство 31 KB
  Найдите там задание обозначенное галочкой. Физминутка А теперь берём наши книжки и открываем страницу 46 смотрим на первое задание. На доске буду вывешены фигуры которые нарисованы в книжке эти же фигурки будут у каждого ребёнка на парте...
61630. Умножение многозначного числа на однозначное 18.44 KB
  Цель: учить находить способы определения значений произведений, в которых один множитель – однозначное число, а второй – многозначное.
61631. Умножение однозначного числа на десяток и сотню 19.79 KB
  Момент Проверка домашнего задания Ребята давайте вспомним что мы проходили на прошлом уроке кто мне скажет что было Блиц-опрос Для счета предметов применяются числа натуральные Любое трехзначное число больше меньше двухзначного.
61632. Деление суммы на число 16.71 KB
  На сколько больше орехов он отдал сестре чем оставил себе Задание 6 устно Прочитайте задание. Оба способа решения дали одинаковые результаты Чем отличается решение Можно ли решениями поставить знак равно Правило Чтобы разделить сумму на число...
61633. Проценты 21.83 KB
  Узнайте массу бобра в кг Какие геометрические фигуры вы здесь видите Используя результаты вычислений ответьте на вопросы: правило умножения на 01 правило деления на 100 25 кг ц Какую часть от ц составляет кг 2.
61634. Вычитание в пределах 20 с переходом. Случаи (11-6-15-6-11-5-14-5) 20.03 KB
  Проверка домашнего задания.2 Выполнение задания на доске. Сперва пока они шли по тропинке на краю Дремучего Леса оба молчали; но когда они дошли до речки и стали помогать друг другу перебираться по камушкам им пришлось решить еще два задания.