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


 

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

24401. Управление через договор франчайзинга 69.5 KB
  Управление через договор франчайзинга. Термин франчайзинг имеет французские корни franchise привилегия льгота и означает в современном понимании систему договорных отношений между крупными и мелкими самостоятельными предприятиями при которой последние получают право на производство и реализацию от имени и под торговой маркой крупной фирмы определенного вида товаров и услуг. Франчайзинг как специфическая разновидность договора зародился в США. В 60е годы франчайзинг стал стратегией роста и развития гостиниц и мотелей.
24402. Профессиональная этика 33 KB
  Содержание любой профессиональной этики складывается из общего и частного. Общие принципы профессиональной этики базирующиеся на общечеловеческих нормах морали предполагают: а профессиональную солидарность иногда перерождающуюся в корпоративность; б особое понимание долга и чести; в особую форму ответственности обусловленную предметом и родом деятельности. Профессиональные этики как правило касаются лишь тех видов профессиональной деятельности в которых наличествует разного рода зависимость людей от действий профессионала т.
24403. Нормативная этика 29 KB
  Все моральные учения и этические теории выдвигавшиеся в истории в конечном итоге были посвящены решению практических нравственных проблем. И каждый теоретик посвоему обосновывал моральные представления того обва и класса духовным выразителем интересов крого он выступал хотя субъективно стремился к созданию беспристрастной теории возвышающейся над различными моральными позициями. края содержит моральные оценки и предписания но не может быть научной и метаэтику края является якобы строго научной теорией очищенной от моральных...
24404. Деловое общение 42 KB
  Дейл Карнеги еще в 30е годы заметил что успехи того или иного человека в его финансовых делах даже в технической сфере или инженерном деле процентов на пятнадцать зависят от его профессиональных знаний и процентов на восемьдесят пять от его умения общаться с людьми в этом контексте легко объяснимы попытки многих исследователей сформулировать и обосновать основные принципы этики делового общения или как их чаще называют на Западе заповеди personal public relation весьма приближенно можно перевести как деловой этикет. Только поведение...
24405. Системы этического знания: теоретическая и нормативная этика 102 KB
  Системы этического знания: теоретическая и нормативная этика. Этика наука изучающая феномен морали. Слово этика от греч. В целом же слова этика мораль нравственность продолжают употребляться как взаимозаменяемые.
24406. Система этического знания 30 KB
  Этика обычай нрав характер это совокупность принципов и норм поведения принятых в данной эпохе и в данной социальной среде. Этика зарождается в обществе как результат осознания роли и сущности моральных отношений и в развитом состоянии представляет собой науку о морали содержащую две составляющих: теоретические исследования теоретическая этика и нормативные разработки нормативная этика. Теоретическая этика исследует происхождение и сущность морали ее роль и место в обществе функции механизм действия ее...
24407. Профессиональная этика. Этика управления. Взаимоотношения руководителя и подчиненных 32.5 KB
  Профессиональная этика. Этика управления. Профессиональная этика это совокупность определенных обязанностей и норм поведения поддерживающих моральный престиж профессиональных групп в обществе. Профессиональная этика вырабатывает нормы стандарты требования характерные для определенных видов деятельности.
24408. Этика делового общения 34 KB
  Этика делового общения Умение вести себя с людьми надлежащим образом является одним из важнейших если не важнейшим фактором определяющим шансы добиться успеха в бизнесе служебной или предпринимательской деятельности. В этом контексте легко объяснимы попытки многих исследователей сформулировать и обосновать основные принципы этики делового общения Джен Ягер выделяет шесть следующих основных принципов: 1. Во втором случае оно проходит с помощью переписки или технических средств а первом при непосредственном контакте субъектов общения....