Переглянути і зафіксувати версію сервера, статус обробників, рівень ізоляції. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Переглянути і зафіксувати версію сервера, статус обробників, рівень ізоляції.



2. Якщо необхідно перетворити таблицю до типу InnoDB, виконати ALTER TABLE t TYPE=INNODB;

3. Для поточного рівня ізоляції стартувати транзакцію, виконати START TRANSACTION, UPDATE для одної таблиці, переглянути зміст таблиці до і після COMMIT. Дії фіксувати.

4. Змінювати рівень ізоляції, кожен раз виконувати INSERT, переглядати зміст таблиці до і після COMMIT, ROLLBACK. Дії і результати фіксувати.

5. Змінювати рівень ізоляції, кожен раз виконувати два речення з UPDATE, між якими вставити SAVEPOINT. Переглядати зміст таблиці до і після COMMIT, ROLLBACK. Дії фіксувати.

Перший рівень ізоляції встановлюється реченням

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

 

9.5 ЗМІСТ ЗВІТУ

Розділ “Результати роботи” повинен містити таблицю, скрипти транзакцій і результати дій над таблицею.

 

9.6 КОНТРОЛЬНІ ПИТАННЯ

1.Властивості транзакції.

2.Напишіть скрипт транзакції.

3.Рівні ізоляції.

4.Блокування транзакцій.

 

ЛАБОРАТОРНА РОБОТА №10

СТВОРЕННЯ КУРСОРІВ

МЕТА РОБОТИ

1. Набуття навичок переміщень по даних

 

10.2 ТЕОРЕТИЧНІ ВІДОМОСТІ

Синтаксис створення і використання курсору.

1 DECLARE cursor_name CURSOR FOR SELECT...; /* Оголошення курсору і його заповнення */

2 DECLARE CONTINUE HANDLER FOR NOT FOUND /* Що робити, коли більше немає записів */

3 OPEN cursor_name; /* Відкрити курсор */

4 FETCH cursor_name INTO variable [, variable]; /* Призначити значення змінної, рівної поточному значенню стовпця */

5 CLOSE cursor_name; /* Закрити курсор */

 

ЗАВДАННЯ НА ЛАБОРАТОРНУ РОБОТУ

1. Створити курсор за завданням викладача.

2. Порівняти з

Select `bank`.* FROM `ХХХ` LIMIT НОМЕР_ПОТРІБНОГО_НАМ_РЯДКА,1

 

10.4 МЕТОДИКА ВИКОНАННЯ

Техніка створення курсору продовжує створення процедури (лабораторна робота №7) або тригера.

У прикладі наведемо деякі прості операції з використанням курсору:

01 DELIMITER / /

03 CREATE PROCEDURE `proc_CURSOR` (OUT param1 INT)

04 BEGIN

05 DECLARE a, b, c INT;

06 DECLARE cur1 CURSOR FOR SELECT col1 FROM table1;

07 DECLARE CONTINUE HANDLER FOR NOT FOUND SET b = 1;

08 OPEN cur1;

10 SET b = 0;

11 SET c = 0;

13 WHILE b = 0 DO

14 FETCH cur1 INTO a;

15 IF b = 0 THEN

16 SET c = c + a;

17 END IF;

18 END WHILE;

20 CLOSE cur1;

21 SET param1 = c;

23 END / /

10.5 ЗМІСТ ЗВІТУ

Розділ “Результати роботи” повинен містити скрипти з курсорами і результати їх роботи.

 

10.6 КОНТРОЛЬНІ ПИТАННЯ

1.Напишіть скрипт з курсором по завданню викладача.

2.Як працює курсор?

3.Розкажить про курсор Вашої роботи або роботи іншого студента.

ЛАБОРАТОРНА РОБОТА №11

РОЗПОДІЛЕНА БАЗА ДАНИХ

МЕТА РОБОТИ

Набуття навичок аналізу систем зберігання даних.

2. Ознайомлення з засобами роботи з розподіленими БД.

3. Ознайомлення з реплікацією.

4. Налаштування реплікації.

 

11.2 ТЕОРЕТИЧНІ ВІДОМОСТІ

Реплікація (replication) – механізм синхронізації вмісту БД, під яким розуміється копіювання даних з одного джерела на інший (або на декілька інших) і навпаки.

Реплікація може знадобитися з різних причин. Наприклад, для балансування навантаження; для створення резервної копії з другого сервера, щоб не зупиняти основний сервер; для побудови звітів з інтенсивним використанням БД, коли краще навантажувати не основну БД, а резервну. На рис. 11.1 показано, як працює реплікація.

Рис. 11.1 Схема розподіленої БД

ЗАВДАННЯ

1. Створити БД з трьох таблиць (лаб. робота №2), побудувати між ними зв’язки.

2. Налаштувати реплікацію.

11.4 МЕТОДИКА ВИКОНАННЯ

11.4.1 Налаштування master-master реплікації

Маємо сервер Сервер №1 з адресою ІР 192.168.1.5 і Сервер №2 з адресою ІР 192.168.1.6. Всі кроки виконуються з урахуванням того, що в даний момент на Сервері №1 база знаходиться під навантаженням, в неї можуть вноситься зміни, тому не можна допустити втрату даних.

Весь процес налаштування можна умовно розділити на два етапи:

• на першому етапі організуємо master-slave реплікацію, де головним буде Сервер №1, а підлеглим буде Сервер №2;

• на другому етапі організовуємо зворотню master-slave реплікацію, і сервера починають збирати інформацію з логів один одного.

Перший етап. Налаштуємо master-slave реплікацію:

На Сервері №1 налаштовуємо головний майстер-сервер. Для цього потрібно:

1. зупинити MySQL сервер;

2. перейти в його папку %Шлях до MySQL%\MySQL Server 5.Х\data\ і скопіювати в тимчасову папку його вміст або додати в архів. Конкретно нам потрібно скопіювати папки з необхідними БД, а також файл ibdata1; у разі, якщо використовуються таблиці типу MyISAM, то достатньо копіювання тільки папок, а копіювання файлу ibdata1 не потрібне.

3. перейти в папку %Шлях до MySQL%\MySQL Server 5.Х\ і додати в файл my.ini наступне:

auto_increment_increment=2auto_increment_offset=1 # Master recordslog-bin = my-bin server-id = 1slave-compressed = 1binlog-do-db = db1binlog-do-db = db2

auto_increment_increment і auto_increment_offset встановлюють для даного сервера автоматично призначення тільки непарних id. Цим самим уникнемо додавання запитів з однаковим id на різні сервера, і при синхронізації дані будуть цілісними;

log-bin – встановлює назву файлу лога транзакцій;

server-id – унікально ідентифікує сервер серед учасників реплікації;

slave-compressed - включає стиснення потоку;



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 101; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.205.146 (0.009 с.)