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‘user1’’Y’; Выполните команду для добавления пользователя user2 и задания ему привилегий: insert into...

Русский

2013-09-23

62 KB

20 чел.

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


 

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

8229. Содержание образования в современной школе 19.16 KB
  Содержание образования в современной школе Обучение - процесс социально обусловленный, выраженный необходимостью воспроизводства человека как субъекта общественных отношений. Отсюда важнейшая социальная функция обучения заключается в формирован...
8230. Характеристика современного урока 16.57 KB
  Характеристика современного урока. Современный урок это неотъемлемая часть всей жизнедеятельности школьников, так как именно на уроке ученик больше всего познает, на уроке происходит его воспитание, развитие, раскрывается его ...
8231. Межпредметные связи в обучении, значение, виды, пути осуществления на уроках(на примере уроков географии) 15.65 KB
  Межпредметные связи в обучении, значение, виды, пути осуществления на уроках(на примере уроков географии) Межпредметные связи согласованное изучение разных учебных предметов. Они позволяют отразить в школьном обучении процесс интеграции раз...
8232. Самостоятельная учебно-познавательная деятельность учащихся: значение, виды самостоятельных работ, условия эффективности 18.64 KB
  Самостоятельная учебно-познавательная деятельность учащихся: значение, виды самостоятельных работ, условия эффективности. К самостоятельной учебно-познавательной деятельности относиться: кружки, практикумы, конференции, консультации, фак...
8233. Сущность понятия учебные достижения. Содержания, формы, виды, методы проверки знаний и умений учащихся 16.24 KB
  Сущность понятия учебные достижения. Содержания, формы, виды, методы проверки знаний и умений учащихся. Установлены следующие педагогические требования к организации контроля за учебной деятельностью учащихся: Индивидуальный характер контроля, осуще...
8234. Характеристика современного процесса воспитания. Его сущность, двусторонний характер, противоречия, закономерности 16.5 KB
  Характеристика современного процесса воспитания. Его сущность, двусторонний характер, противоречия, закономерности. Воспитание - функция общества, явление, возникшее в древние времена. Воспитание - целенаправленный процесс развития человек...
8235. Основные подходы к разработке содержания воспитания в современной педагогике 15.39 KB
  Основные подходы к разработке содержания воспитания в современной педагогике. Метод воспитания - это путь достижения заданной цели воспитания. Это система приёмов и средств, используемых для достижения поставленной цели. Приём воспитания...
8236. Характеристика методов воспитания учащихся. Критерии выбора эффективного использования методов воспитания в педагогическом процессе 19.55 KB
  Характеристика методов воспитания учащихся (по одной из классификаций). Критерии выбора эффективного использования методов воспитания в педагогическом процессе. Метод воспитания - это путь достижения заданной цели воспитания. Это система приёмо...
8237. Основные направления и формы воспитательной работы 18.84 KB
  Основные направления и формы воспитательной работы Основными направлениями, по которым проводится воспитательная работа являются: нравственное, правовое, трудовое, эстетическое и физическое воспитание. Воспитательная работа может проводиться и...