Доступна СУБД MySQL 8.2.0

Компанія Oracle сформувала нову гілку СУБД MySQL 8.2 та опублікувала коригувальні оновлення MySQL 8.0.35 та 5.7.44. Складання MySQL Community Server 8.2.0 підготовлено для всіх основних дистрибутивів Linux, FreeBSD, macOS і Windows.

MySQL 8.2.0 є другим випуском, сформованим у рамках нової моделі формування релізів, що передбачає наявність двох типів гілок MySQL – «Innovation» та «LTS». Гілки Innovation, до яких віднесені MySQL 8.1 та 8.2, рекомендовані для тих, хто хоче раніше отримувати доступ до нової функціональності. Ці гілки публікуються кожні 3 місяці і підтримуються лише до публікації наступного значного релізу (наприклад, після появи гілки 8.2 припинено підтримку гілки 8.1). LTS-гілки рекомендовані для впроваджень, яким необхідна передбачуваність та тривале збереження постійної поведінки. LTS гілки випускатимуться раз на два роки і підтримуватимуться в штатному режимі 5 років, на додаток до яких можна буде отримати ще 3 роки розширеної підтримки. Навесні 2024 року очікується LTS-реліз MySQL 8.4, після якого буде сформована нова Innovation-гілка 9.0.

Основні зміни в MySQL 8.2:

  • Додано підтримку механізму аутентифікації на базі специфікації Webauthn (FIDO2), що дозволяє застосовувати багатофакторну аутентифікацію та підтверджувати підключення до сервера MySQL без паролів, використовуючи апаратні токени з підтримкою FIDO2 або біометричну аутентифікацію. Плагін з підтримкою Webauthn поки доступний лише MySQL Enterprise.
  • Серверний плагін mysql_native_password, що забезпечує аутентифікацію за допомогою паролів, переведений у категорію необов'язкових і може бути вимкнений. Замість mysql_native_password рекомендується перейти на використання плагіна caching_sha2_password, який застосовує для хешування алгоритм SHA2 замість SHA1. Для перемикання користувачів на плагін caching_sha2_password із заміною пароля на випадковий можна використовувати команду: ALTER USER 'username'@'localhost' IDENTIFIED WITH caching_sha2_password RANDOM PASSWORD PASSWORD EXPIRE FAILED_LOGIN_ATTEMPTS 3 PASSW
  • Проведено оптимізацію хеш таблиць, що дозволило прискорити виконання операцій EXCEPT та INTERSECT.
  • Розширено налагоджувальні можливості. В операції SELECT, INSERT, REPLACE, UPDATE та DELETE додано підтримку виразу «EXPLAIN FORMAT=JSON» для формування діагностичного виводу у форматі JSON (наприклад, «EXPLAIN FORMAT=JSON INTO @var select_stmt;»).
  • Додано вираз EXPLAIN FOR SCHEMA для виведення діагностики, пов'язаної тільки з певною схемою даних.
  • В утиліту mysqldump додано опцію «—output-as-version» для створення дампів, сумісних з певною старою версією MySQL (наприклад, можна вказати BEFORE_8_2_0 або BEFORE_8_0_23 для повернення неполіткоректної термінології master/slave, оголошеної застарілої8.2.0. ).
  • У клієнтську Сі-бібліотеку додано можливість використання іменованих атрибутів у параметризованих запитах (prepared statement), що реалізуються за допомогою нової функції mysql_stmt_bind_named_param(), яка прийшла на зміну функції mysql_stmt_bind_param().
  • Спрощено розподіл SQL-трафіку у кластері з MySQL-серверів. Надано можливості для організації прозорих для додатків підключень до вторинних або первинних серверів.
  • Додано новий привілей SET_ANY_DEFINER, що надає право створення об'єктів з виразом DEFINER, а також привілей ALLOW_NONEXISTENT_DEFINER для захисту об'єктів із відсутнім власником.
  • Оголошені застарілими: змінні old і new, маски «%» і «_» в операціях надання доступу до БД, опція «character-set-client-handshake», змінна binlog_transaction_dependency_tracking і привілей SET_USER_ID.
  • В рамках коригування неполіткоректної термінології, пов'язаної з реплікацією, оголошені застарілими вирази "RESET MASTER", "SHOW MASTER STATUS", "SHOW MASTER LOGS" і "PURGE MASTER LOGS", замість яких слід використовувати вирази "RESET BINARY LOGS AND GTIDS", " SHOW BINARY LOG STATUS», «SHOW BINARY LOGS» та «PURGE BINARY LOGS».
  • Видалені можливості раніше оголошені застарілими: функція WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(), змінна expire_logs_days, опції «abort-slave-event-count» і «disconnect-slave-event-count».
  • Усунено 26 уразливостей. Дві вразливості, пов'язані з використанням пакету Curl та бібліотеки OpenSSL, можуть бути експлуатовані віддалено.

Джерело: opennet.ru

Додати коментар або відгук