- •Міністерство освіти і науки україни Черкаський державний технологічний університет
- •Черкаси 2013
- •Рецензент проф. В. Є. Снітюк
- •Лабораторна робота №1
- •1.1 Мета роботи
- •1. Набуття навичок аналізу предметної області
- •1.2 Теоретичні відомості
- •1.3 Завдання на лабораторну роботу
- •1.4 Методика виконання
- •1.6 Контрольні питання
- •Лабораторна робота №2
- •2.1 Мета роботи
- •3.Об’єднання таблиць.
- •4. Додавання записів.
- •2.2 Теоретичні відомості
- •2.3 Завдання на лабораторну роботу
- •2.4 Методика виконання
- •Тестування
- •2.6 Контрольні питання
- •3.3 Завдання на лабораторну роботу
- •3.4 Методика виконання
- •3.6 Контрольні питання
- •Лабораторна робота 4
- •4.1 Мета роботи Вивчення мови запитів, які поширюються на дві і більше таблиці.
- •4.2 Теоретичні відомості
- •4.3 Завдання на лабораторну роботу
- •Лабораторна робота №5
- •5.1 Мета роботи
- •1. Набуття навичок подання предметної області клієнту.
- •5.4 Методика виконання
- •5.6 Контрольні питання
- •Лабораторна робота №6
- •6.1 Мета роботи
- •6.2 Теоретичні відомості
- •6.3 Завдання на лабораторну роботу
- •6.4 Методика виконання
- •6.6 Контрольні питання
- •Лабораторна робота №7
- •7.1 Мета роботи
- •7.2 Теоретичні відомості
- •7.3 Завдання на лабораторну роботу
- •7.4 Методика виконання
- •7.6 Контрольні питання
- •Лабораторна робота №8 створення тригерів, подій
- •8.1 Мета роботи
- •1. Набуття навичок реалізації бізнес-правил
- •8.2 Теоретичні відомості
- •8.3 Завдання на лабораторну роботу
- •8.4 Методика виконання
- •8.6 Контрольні питання
- •Лабораторна робота №9
- •9.1 Мета роботи
- •1. Набуття навичок аналізу стану бд.
- •9.2 Теоретичні відомості
- •9.3 Завдання на лабораторну роботу
- •9.4 Методика виконання
- •1.Переглянути і зафіксувати версію сервера, статус обробників, рівень ізоляції.
- •9.6 Контрольні питання
- •Лабораторна робота №10 створення курсорів
- •10.1 Мета роботи
- •10.2 Теоретичні відомості
- •10.3 Завдання на лабораторну роботу
- •10.4 Методика виконання
- •10.6 Контрольні питання
- •Лабораторна робота №11 розподілена база даних
- •11.1 Мета роботи
- •1. Набуття навичок аналізу систем зберігання даних.
- •11.2 Теоретичні відомості
- •11.3 Завдання
- •11.4 Методика виконання
- •На Сервері №1 налаштовуємо головний майстер-сервер. Для цього потрібно:
- •1. Зупинити MySql сервер;
- •11. Додаємо в my.Ini такі записи:
- •11.4.2 Завершення реплікації
- •11.6 Контрольні питання
- •Лабораторна робота 12 діаграма класів бд
- •12.1 Мета роботи
- •12.2 Теоретичні відомості
- •12.3 Завдання на лабораторну роботу
- •12.4 Методика виконання
- •12.6 Контрольні питання
10.6 Контрольні питання
1.Напишіть скрипт з курсором по завданню викладача.
2.Як працює курсор?
3.Розкажить про курсор Вашої роботи або роботи іншого студента.
Лабораторна робота №11 розподілена база даних
11.1 Мета роботи
1. Набуття навичок аналізу систем зберігання даних.
2. Ознайомлення з засобами роботи з розподіленими БД.
3. Ознайомлення з реплікацією.
4. Налаштування реплікації.
11.2 Теоретичні відомості
Реплікація (replication) – механізм синхронізації вмісту БД, під яким розуміється копіювання даних з одного джерела на інший (або на декілька інших) і навпаки.
Реплікація може знадобитися з різних причин. Наприклад, для балансування навантаження; для створення резервної копії з другого сервера, щоб не зупиняти основний сервер; для побудови звітів з інтенсивним використанням БД, коли краще навантажувати не основну БД, а резервну. На рис. 11.1 показано, як працює реплікація.
Рис. 11.1 Схема розподіленої БД
11.3 Завдання
Створити БД з трьох таблиць (лаб. робота №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=2
auto_increment_offset=1
# Master records
log-bin = my-bin
server-id = 1
slave-compressed = 1
binlog-do-db = db1
binlog-do-db = db2
auto_increment_increment і auto_increment_offset встановлюють для даного сервера автоматично призначення тільки непарних id. Цим самим уникнемо додавання запитів з однаковим id на різні сервера, і при синхронізації дані будуть цілісними;
log-bin – встановлює назву файлу лога транзакцій;
server-id – унікально ідентифікує сервер серед учасників реплікації;
slave-compressed - включає стиснення потоку;
binlog-do-db - вказує БД, за якими вести лог транзакцій.
4. стартувати MySQL сервер; 5. Створити обліковий запис з правами на реплікацію:
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'192.168.1.6' IDENTIFIED BY 'password';
На Сервері №2 налаштовуємо підлеглий сервер. Потрібно:
6. зупинити сервер; 7. розпакувати архів БД серверу № 1 у відповідну папку % Шлях до MySQL% \ MySQL Server 5.Х \ data \ з заміною існуючих. 8. додати в my.ini такі записи:
auto_increment_increment=2
auto_increment_offset=2
# Slave records
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
master-host=192.168.1.5
master-user=slave_user
master-password=password
master-port = 3306
master-connect-retry=10
replicate-do-db=db1
replicate-do-db=db2
master-host – ім'я хоста головного сервера або IP-адреса для реплікації;
master-user – ім'я користувача, яке підлеглий сервер буде використовувати для аутентифікації при приєднанні до головного сервера; master-password – пароль, який буде використовуватися при приєднанні підлеглого сервера до головного сервера;
master-port – порт, який слухає головний сервер;
master-connect-retry – час очікування в секундах для потоку підлеглого сервера перед повторенням спроби встановити зв'язок з головним сервером у разі припинення роботи головного сервера або втрати зв'язку. За замовчуванням – 60;
replicate-do-db – повідомляє підлеглому серверу, що реплікуватись повинна тільки зазначена БД;
9. запустить MySQL сервер.
Другий етап. На Сервері №2 налаштовуємо головний майстер-сервер паралельно з робочим підлеглим:
10. Створимо обліковий запис з правами на реплікацію:
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'192.168.1.5' IDENTIFIED BY 'password';
