Створення сайтів Львів067 607 57 84
МЕНЮ

Що нового в MySQL 8.0

Нарешті після 2 років розробки компанія Oracle випустила перший стабільний реліз MySQL 8.0. Версія 8.0 зумовлена зміною нумерації версій, оскільки реліз випустили слідом за 5.7 замість версії 5.8.

Що нового ми з вами знайдемо в MySQL 8.0?

По-перше, покращену підтримку Unicode, поліпшену робота з JSON і обробкою документів, а також давно очікуваний функціонал, такий як віконні функції.

Коротко оглянемо нові можливості, реалізовані в MySQL 8.0:

1. Першокласна підтримка Unicode 9.0.
Це є однією з найбільших запланованих змін, оскільки постійні проблеми з Unicode траплялись досить часто. MySQL 8.0 більше не використовує latin1 як кодування за замовчуванням, щоб не робити новим користувачам проблеми в плані вибору застарілого кодування. Рекомендований набір символів за замовчуванням для MySQL 8.0 тепер є utf8mb4. Покращений Unicode буде підтримувати не тільки non-Western набори символів, але і підвищувати функціонал еможі (набори смайликів).

2. Функції вікна і рекурсивний синтаксис SQL для запитів, які раніше були неможливі або були б вельми важкі в реалізації.
Підтримка SQL можливостей функції вікна (window functions) - це спосіб виконати сукупні обчислення в кількох рядках, зберігаючи при цьому доступ до окремих рядків із запиту. Це можна зробити в MySQL без підтримки віконних функцій в базі даних, але це громіздко і повільно. Щоб впровадити можливості вікна, MySQL 8.0 додає функції вікна через стандартне ключове слово OVER SQL.

3. Розширена підтримка вбудованих функцій JSON і функцій зберігання документів.

  • Розширено синтаксис для визначення діапазонів значень в JSON, наприклад "SELECT JSON_EXTRACT ( '[1, 2, 3, 4, 5]', '$ [1 to 3]');".
  • Додана підтримка табличних функцій, що дозволяють використовувати SQL для даних JSON (за допомогою функції JSON_TABLE () створюється реляционное уявлення даних JSON).
  • Додані агрегатні функції JSON_ARRAYAGG () для генерації масивів JSON і JSON_OBJECTAGG () для генерації об'єктів JSON.
  • Додані функції злиття JSON_MERGE_PATCH () і JSON_MERGE_PRESERVE ().
  • Додана функція JSON_PRETTY () для приведення блоків JSON до читаемому увазі;
  • Додана функція JSON_STORAGE_SIZE () для обчислення розміру, який займає об'єкт JSON;
  • Від 1.2 до 18 разів збільшено продуктивність сортування і угрупування значень JSON;

4. Словник даних MySQL тепер включає в себе словник транзакційних даних, який зберігає інформацію про об'єкти бази даних.
У попередніх випусках MySQL, словникові дані зберігалися в метаданих і неперехідних таблицях. Ще одне поліпшення стосується JSON, пов'язане з можливостями зберігання документів в MySQL. Читання і запис в сховищі документів MySQL є транзакційними, що дозволяє виконувати відкати при зміні даних JSON. Дані документа, що зберігаються у відкритому форматі GeoJSON для геопросторових даних, можуть бути проіндексовані, тому ви можете здійснювати пошук з високою точністю наближення.

5. Декілька змін що стосуються безпеки та управління обліковими записами:

  • Доступний новий модуль перевірки автентичності caching_sha2_password. Як і плагін sha256_password, caching_sha2_password реалізує SHA-256 хешування паролем, але використовує кешування для вирішення проблем затримки при часі підключення. Він також підтримує більше протоколів зв'язку та не вимагає зв'язування з OpenSSL для можливостей обміну паролями на основі ключових паролів RSA.
  • Плагіни перевірки автентичності caching_sha2_password і sha256_password забезпечують більш безпечне шифрування паролів, ніж плагін mysql_native_password, а caching_sha2_password забезпечує кращу продуктивність, ніж sha256_password. Завдяки цим чудовим параметрам безпеки та продуктивності caching_sha2_password він тепер є переважним плагіном автентифікації, а також стандартний автентифікаційний плагін замість mysql_native_password.
  • MySQL тепер підтримує ролі, які називаються колекціями привілеїв. Ролі можна створити і скинути. Ролі можуть мати привілеї, надані та відкликані з них. Ролі можуть бути надані та відкликані з облікових записів користувачів. Активні придатні ролі для облікового запису можна вибрати з тих, що надаються для облікового запису, і можуть бути змінені під час сеансів для цього облікового запису.
  • Тепер MySQL зберігає інформацію про історію паролів, що дозволяє обмежити повторне використання попередніх паролів. Адміністратори DBA можуть вимагати, щоб нові паролі не були обрані з попередніх паролів для деякої кількості змін пароля або періоду часу. Можна встановити політику повторного використання пароля як у глобальному масштабі, так і на основі кожного облікового запису. Разом з існуючими можливостями вичерпання паролів, щоб періодично змінювати паролі, нові можливості історії паролів надають адміністраторам баз даних повний контроль над керуванням паролями.

Детальніше про зміни ви можете прочитати на офіційному сайті MySQL https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html MySQL 8.0 можна завантажити на на dev.mysql.com