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

24 чел.

Лабораторная работа № 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


 

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

25624. Зрительная сенсорная система. Орган зрения 61 KB
  В передней части глаза склера переходит в покрытую многослойным плоским эпителием прозрачную роговицу. Наружная фиброзная оболочка глазного яблока к которой прикрепляются наружные мышцы глаза обеспечивает защитную функцию. Внутренняя чувствительная оболочка глаза сетчатка сенсорная рецепторная часть зрительного анализатора в которой происходят под воздействием света фотохимические превращения зрительных пигментов фототрансдукция изменение биоэлектрической активности нейронов и передача информации о внешнем мире в подкорковые...
25626. Гистогенез и органогенез на 2 и 3 неделе развития 26.5 KB
  Коммутирование ограничение возможных путей развития клеток. Оно совершается последовательно: сначала преобразуются крупные участки генома детерминирующие наиболее общие свойства клеток а позднее более частные свойства. Дифференцировка это изменения в структуре клеток связанные с их функциональной специализацией обусловленные активностью определенных генов. В развивающемся организме дифференцировка сопровождается определенной организацией или размещением специализирующихся клеток что выражается в установлении определенного плана...
25627. Гистогенез и органогенез 22 KB
  4 неделя Углубление желточной складки образование желточного стебля и приподнятие зародыша в полости амниона. Замыкание нервной трубки и формирование переднего невропора к 25 сут и заднего невропора к 27 сут образование нервных ганглиев; закладка легкого желудка печени поджелудочной железы эндокринных желез аденогипофиза щитовидной и околощитовидных желез. Образование ушной и хрусталиковой плакод первичной почки мезонефроса. Образование зачатков верхних и нижних конечностей 4 пар жаберных дуг.
25628. Гладкие мышечные ткани 29.5 KB
  Стволовые клетки и клеткипредшественники в гладкой мышечной ткани на этапах эмбрионального развития пока точно не отождествлены. Поверх чехликов из базальной мембраны между миоцитами проходят эластические и ретикулярные волокна объединяющие клетки в единый тканевой комплекс. Ретикулярные волокна проникают в щели на концах миоцитов закрепляются там и передают усилие сокращения клетки всему их объединению. Поэтому после поступления нервного импульса медиатор распространяется диффузно возбуждая сразу многие клетки.
25630. Дифференцировка первичной эктодермы 39 KB
  Меньшая часть эктодермы расположенная над хордой нейроэктодерма дает начало дифференцировке нервной трубки и ганглиозной пластинки. Нейруляция процесс образования нервной трубки протекает по времени неодинаково в различных частях зародыша. Замыкание нервной трубки начинается в шейном отделе а затем распространяется кзади и несколько замедленнее в краниальном направлении где формируются мозговые пузыри. Из нервной трубки образуются нейроциты и нейроглия головного и спинного мозга сетчатки глаза и органа обоняния.
25631. Диффузная эндокринная система 32 KB
  Среди одиночных гормонпродуцирующих клеток различают две самостоятельные группы: I нейроэндокринные клетки APUDсерии нервного происхождения; II клетки не нервного происхождения. Эти клетки характеризуются способностью поглощать и декарбоксилировать предшественники аминов англ. Согласно современным представлениям клетки APUDсерии развиваются из всех зародышевых листков и присутствуют во всех тканевых типах: 1 производные нейроэктодермы {нейроэндокринные клетки нейросекреторных ядер гипоталамуса эпифиза мозгового вещества...
25632. Железистые эпителии 42.5 KB
  Железистый эпителий состоит из железистых или секреторных клеток гландулоцитов. Они накапливаются в местах наибольшей активности клеток т. В цитоплазме клеток обычно присутствуют секреторные гранулы размер и строение которых зависят от химического состава секрета. Цитолемма имеет различное строение на боковых базальных и апикальных поверхностях клеток.