Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ выпуск Π‘Π£Π‘Π” MariaDB 10.7

ПослС 6 мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π‘Π£Π‘Π” MariaDB 10.7 (10.7.2), Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ развиваСтся ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ MySQL, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰Π΅Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ² хранСния ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… возмоТностСй. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ MariaDB ΠΊΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ нСзависимая организация MariaDB Foundation Π² соотвСтствии с ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ процСссом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π΅ зависящим ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. MariaDB поставляСтся вмСсто MySQL Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ΠΈ Π²Π½Π΅Π΄Ρ€Ρ‘Π½ Π² Ρ‚Π°ΠΊΠΈΡ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΊΠ°ΠΊ Wikipedia, Google Cloud SQL ΠΈ Nimbuzz.

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ сформирован ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ тСстовый выпуск ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ MariaDB 10.8.1 ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ обновлСния 10.6.6, 10.5.14, 10.4.23, 10.3.33 ΠΈ 10.2.42. Выпуск 10.7.2 стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ послС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ модСль формирования Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰ΡƒΡŽ сокращСниС срока ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ с 5 Π»Π΅Ρ‚ Π΄ΠΎ 1 Π³ΠΎΠ΄Π° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… выпусков Π½Π΅ Ρ€Π°Π· Π² Π³ΠΎΠ΄, Π° Ρ€Π°Π· Π² ΠΊΠ²Π°Ρ€Ρ‚Π°Π».

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ MariaDB 10.7:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… UUID, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния 128-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² (Universally Unique Identifier).
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON: JSON_EQUALS() для сравнСния идСнтичности Π΄Π²ΡƒΡ… JSON-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ JSON_NORMALIZE() для привСдСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² JSON Π² Ρ„ΠΎΡ€ΠΌΡƒ, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΡƒΡŽ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сравнСния (выполняСт сортировку ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция NATURAL_SORT_KEY() для сортировки строк с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строка «v10» послС сортировки Π·Π°ΠΉΠΌΡ‘Ρ‚ мСсто послС строки «v9»).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция SFORMAT() для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ форматирования строк — Π½Π° Π²Ρ…ΠΎΠ΄ подаётся строка с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ форматирования ΠΈ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для подстановки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ‘SFORMAT(«The answer is {}.», 42)’).
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² INSERT-запросах, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Π΅ Π² нСсколько строк (ΠΊΠΎΠΌΠ°Π½Π΄Π° GET DIAGNOSTICS Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ свойство ROW_NUMBER, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° Π½ΠΎΠΌΠ΅Ρ€ строки с ошибкой).
  • Π’ состав Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ password_reuse_check, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π΅ совпадаСт с паролями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ password_reuse_check_interval).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ «ALTER TABLE … CONVERT PARTITION .. TO TABLE» ΠΈ «ALTER TABLE … CONVERT TABLE … TO PARTITION» для прСобразования сСкции (partition) Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ mariadb-dump Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—as-of» для сброса Π΄Π°ΠΌΠΏΠ°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ вСрсионированной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
  • Для MariaDB Galera Cluster Π² PROCESSLIST Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ состояния «waiting to execute in isolation» «waiting for TOI DDL» «waiting for flow control» ΠΈ «waiting for certification».
  • Π’ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «reorder». Для ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… строк ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сопоставлСния с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ смысла символов Π² опСрациях с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ ASCII.
  • Π’ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ InnoDB ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ вставки Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ сортировки ΠΈ построСния индСксов.
  • УстранСно 5 уязвимостСй, Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ: CVE-2022-24052, CVE-2022-24051, CVE-2022-24050, CVE-2022-24048, CVE-2021-46659.
  • Из ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² тСстовом выпускС MariaDB 10.8.1 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ индСксов, отсортированных Π² порядкС убывания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволяСт Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Π°Ρ€Ρ†ΠΈΠΉ ORDER BY ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС. Для Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ спСцификаторы IN, OUT, INOUT ΠΈ IN OUT. Π’ InnoDB сниТСно число ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи ΠΏΡ€ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π»ΠΎΠ³Π° ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (redo).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru