MySQL 9.3.0 buraxılışı

Oracle şirkəti MySQL 9.3.0 verilənlər bazası sisteminin yeni bir şöbəsini yaradıb. MySQL Community Server 9.3.0 versiyaları Linux, FreeBSD, macOS və Windows üçün əsas distroslar üçün hazırlanıb. 2023-cü ildən tətbiq olunan yeni buraxılış formalaşdırma modeli ilə MySQL 9.3 «İnnovasiya» şöbələrinə aid edilib. İnnovasiya şöbələri, yeni funksionallığa əvvəlcədən çıxış əldə etmək istəyənlər üçün tövsiyə edilir, 3 aya bir dərc olunur və yalnız növbəti əhəmiyyətli buraxılışın dərcinə qədər dəstəklənir (məsələn, 9.3 şöbəsi çıxdıqdan sonra 9.2 şöbəsinin dəstəyi dayandırılır). Yayıda 9.4 versiyası üçün LTS buraxılışı hazırlanması planlaşdırılır ki, bu da proyektlər üçün proqnozlaşdırıla bilən və uzun müddət dəyişməz davranışı saxlamaq üçün tövsiyə olunur. LTS şöbəsindən sonra yeni bir İnnovasiya şöbəsi — MySQL 10.0 yaradılacaq.

MySQL 9.3-dəki əsas dəyişikliklər:

  • mysqldump utilitinə «—users» seçimi əlavə edilmişdir ki, bu da «CREATE USER» və «GRANT» SQL ifadələri vasitəsilə bütün hesabların məlumatları ilə məntiqi çıxarışlar yaratmağa imkan verir. «CREATE USER»-dan əvvəl «DROP USER» ifadəsini daxil etmək üçün «—add-drop-user» seçimi, seçilmiş istifadəçiləri dump daxilində göstərmək üçün isə «—include-user=user@host» və «—exclude-user=user@host» seçimləri əlavə edilmişdir ki, bu da bir neçə dəfə göstərilə bilər.
  • MLE (Çoxdilli Mühərrik Komponenti) motorunda, saxlanılmış prosedurlarda və funksiyalarda SQL-dan fərqli dillərdə kodun istifadəsini təmin edən, JavaScript dəstəyi inkişaf etdirilmişdir. JavaScript dilində saxlanılmış prosedurlar üçün «DECIMAL» tipi tətbiq edilmişdir ki, bu da daxil edilən və qaytarılan arqumentlər üçün istifadə edilə bilər. Təhlükəsizlik səbəbi ilə, MySQL tipi DECIMAL, JavaScript tipi «String»ə çevrilir, lakin bu davranışı 'SELECT mle_set_session_state(‘{«decimal_type»:»Number»}’)' komutu ilə dəyişmək mümkündür, bundan sonra JavaScript tipi «Number» olacaq. JavaScript tipi Boolean, Number, String və BigInt olan dəyərlərin DECIMAL tipinə çevrilməsi dəstəklənir.
  • JavaScript-də saxlanılmış prosedurlara lokallaşdırma parametrlərinin təyin edilməsi dəstəyi əlavə edilmişdir ki, bunun üçün JavaScript API Intl istifadə olunur. Məsələn, cari lokalı təyin etmək üçün «Intl.DateTimeFormat().resolvedOptions().locale» xüsusiyyətlərindən, lokalı dəyişdirmək üçün isə «toLocaleString()» metodundan istifadə oluna bilər.
  • JavaScript kitabxanalarını idarə etmə imkanları genişləndirilmişdir: artıq, idxal olunan kitabxanaların siyahısını dəyişdirmək üçün «ALTER PROCEDURE» və «ALTER FUNCTION» ifadələri istifadə edilə bilər. Kitabxanaya SQL şərhi əlavə etmək, silmək və ya dəyişdirmək üçün «ALTER LIBRARY» ifadəsi də əlavə olunmuşdur. Kitabxana haqqında məlumat əldə etmək üçün «SHOW LIBRARY STATUS» ifadəsi həyata keçirilmişdir.
  • JavaScript kitabxanalarının dinamik yüklənməsi dəstəklənmişdir. Dinamik idxal üçün isə «await» açar sözündən istifadə olunmalıdır, məsələn, «let module = await import(‘/db1/lib_${object_type}’)».
  • Sorğulardan istifadə edən optimizasiyalar genişləndirilib ki, bunda kvanitifikasiya olunmuş müqayisə operatorları yer alır. Yeni versiyada alt sorğuların optimizasiyasında "=ANY" və "ALL" operatorlarına dəstəyin yanında, " >ANY", ">=ANY", "<ANY", "ALL", ">=ALL", "<ALL" və "<=ALL" operatorlarına dəstək əlavə edilib.
  • Köhnəlmiş elan edilmiş "version_tokens" plaqini silinib.
  • Sistem dəyişəninə 0 dəyəri təyin edilməsinə icazə verilmir: replica_parallel_workers.
  • 28 təhlükəsizlik açığı aradan qaldırılıb, bunların 26-sı verilənlər bazasına sorğular göndərmək üçün giriş imkanı olan uzaqdan istismar oluna bilər. Ən ciddi altı problem 6.5 təhlükə səviyyəsinə malikdir və InnoDB motoru, parser və optimizatorla bağlı açıq yerlərlə əlaqəlidir. Daha az təhlükəli açıq yerlər mysqldump, InnoDB, optimizator, DDL, UDF, parser və replikasiya sistemini əhatə edir.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster