1. Коротка історія та характеристика MySQL
1996р. – перша версія `MySql. Розробник – М. Видениус (Michael Widenius).
MySQL – потужна СУБД з відкритим кодом, яка має великі функціональні можливості.
MySQL має клієнт-серверну архітектуру.
MySQL – крос-платформенна система (Windows, Linux, Mac
OS та інші).
До БД MySQL можуть підключатись додатки, створені на C/C++, Java, Perl, PHP, ODBC, NET, Visual Studio,…
Багатопоточність – підтримка одночасно декількох запитів (доступ багатьох користувачів).
Висока швидкодія, масштабованість, стійкість до помилок. Наприклад, існує MySQL-сервер, який працює з 60 тис. таблицями, 5 млрд. рядків.
MySQL має систему забезпечення безпеки і розмежування доступу на основі системи привілеїв.
Mysql написана на Си та C++
MySQL має
API і коннектори для мов Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk,…
MySQL має бібліотеки для мов платформи .NET
Реалізовано оптимізацію зв’язків
Гнучка система привілеїв і паролей
До 16 ключів в таблиці. Кожний ключ може мати до 15 полів
Утіліта перевірки і ремонту таблиць
Легкість управління таблицями, включаючи добавлення і видалення ключів і полів.
У MySQL можна створювати транзакції, що підвищує швидкодію і надійність.
На початку 1990 рр. існували декілька постачальників СУБД, і кожний розробляв свій інтерфейс.
Було створено стандартний інтерфейс ODBC для джерел даних різних типів. MyODBC працює на всіх системах Microsoft Windows и на більшості платформ Unix.
ODBC (Open DataBase Connectivity) – відкритий інтерфейс доступу до БД (розробник фірма X/Open).
Для MySQL – ODBC-драйвер MyODBC. MyODBC представляє собою драйвер ODBC рівня 0 (з деякими можливостями рівня 1 і 2) для зєднання сумісного з ODBC додатку до MySQL.
Розробкою і підтримкою MySQL займається корпорація Oracle.
MySQL передбачена для розробки малих і середніх застосувань.
Гнучність СУБД MySQL забезпечується підтримкою великої кількості типів таблиць:
- таблиці типу MyISAM підтримують повнотекстовий пошук,
- таблиці типу InnoDB – транзакції на рівні окремих записів.
Історія версій
Перший внутрішній випуск MySQL – 1995 р.
Версія для Windows (Windows 95 і NT) – 1998 р.
Версія 3.23: 2001р. Версія 4.0: 2003р.
Версія 4.1: 2004р. Версія 5.0: 2005р.
Версія 5.1: 2008р. Версія 5.5: 2010р.
Версія 5.7: 2018р.
Версія 8.0.13: 2018.
MySQL 4.1. Нові можлилості:
вкладені запити і похідні таблиці
нова система кодування і сортувння
більш швидкий і гнучкий протокол клієнт-сервер
захищенне через OpenSSL з'єднання кліент-сервер
підтримка кодування Юнікод (UTF-8 і UCS2);
стандартні просторові типи даних GIS для географічної інформації;
покращений повнотекстовий пошук у таблицях MyISAM;
межплатформенная сумісність;
MyISAM (для швидкого читання), InnoDB (транзакції, цілісніть);
кешування запитів;
реплікації (головний сервер – підлеглиий сервер);
MySQL 5.0. Нові можлилості:
Розширена функціональність (майже повна підтримка стандарту SQL), яка ставить MySQL в один ряд з комерційними СУБД.
процедури і функції, які зберігаються в БД;
обробник помилок;
курсор;
трігер;
представлення;
системний словник.
MySQL 5.5
Використання по замовчуванню типу InnoDB.
Покращені функції по секціюванню даних.
Новий механізм оптимізації вкладених запитів і JOIN-операцій.
Перероблена система внутрішніх блокувань.
MySQL 5.1
Секціювання — можливість розбити велику таблицю на декілька частин, розміщених в різних файлових системах
Змінені декілька оператори для забезпечення більшої сумісності з стандартом SQL-2003.
Додатковий набір функцій для обробки XML (XML – eXtensible Markup Language «розширюванна мова розмітки».
Нові засоби діагностики проблем і утиліти для анализу продуктивності. Утиліта mysqlslap дозволяє провести тестування БД для визначення часу реакції на запити.
Підтримка всіх форматів стовпців MyISAM, розширена новим форматом «rows-in-block», який використовує сторінковий спосіб збереження даних, при якому дані в стовпцях можуть кешируватись.
Нові можливості MySQL 8.0
підтримка Unicode 9.0 без необхідності додаткових компонентів
функції Windows та рекурсивный синтаксис SQL-запитів
фрагментація JSON (без руйнування даних).
расширенна підтримка нативних данных JSON і функцій збереження документів.
перехід на кодування Unicode по замовчуванню – одне з найбільш важлиіих змін
кодування latin1 більше не використовується в MySQL за замовчуванням.
підтримуються віконні функції, що дозволяють виконувати агреговані обчислення, зберігаючи при цьому в результатах запиту доступ до окремих рядків. Аналогічно це реалізовано у деяких конкурентів (пр. PostgreSQL).
є можливість використовування рекурсивних виразів, що дозволяє виконувати рекурсивні операції як частину запиту без використання курсору, що призводить до зниження продуктивності.
з'явилася підтримка JSON. Це зробило MySQL конкурентоспроможною з СУБД NoSQL
з підтримкою JSON з'явились нові можливості зберігання документів. Операції читання та запису документів узгодженні в транзакціях MySQL
дані про місцезнаходження, які зберігалися у відкритому форматі GeoJSON, тепер можна індексувати, завдяки чому можна здійснювати пошук і за критерієм близькості розташування.
Основні утиліти MySQL
В склад дистрибутива MySQL входять наступні утиліти:
mysqld - сервер MySQL
mysql - кліент командного рядка
mysqladmin - адміністрування серверу
mysqlaccess - перевірка привілеїв користувача
mysqlshow - показує, з якими БД працює сервер, які таблиці в БД і.т.д.
mysqldump - створення дампа вмісту БД
isamchk - перевірка, ремонт таблиць MyISAM