Даступная СКБД 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 BY 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

Дадаць каментар