Oracle wis nggawe cabang anyar saka MySQL 9.1.0 DBMS. MySQL Community Server 9.1.0 mbangun disiapake kanggo kabeh distribusi Linux, FreeBSD, macOS lan Windows utama. Minangka bagéan saka model rilis anyar sing dikenalaké taun kepungkur, MySQL 9.1 diklasifikasikaké minangka cabang "Inovasi", sing uga bakal kalebu rilis utama sabanjure, MySQL 9.2. Cabang inovasi dianjurake kanggo wong-wong sing pengin akses awal menyang fungsi anyar, diterbitake saben 3 sasi lan didhukung mung nganti publikasi rilis penting sabanjure (contone, sawise munculé cabang 9.1, dhukungan kanggo cabang 9.0 ora diterusake. ). Musim panas sabanjure, dheweke ngrancang nggawe rilis LTS sing disaranake kanggo implementasine sing mbutuhake prediktabilitas lan njaga prilaku sing ora owah ing jangka panjang. Sawise cabang LTS, cabang Inovasi anyar bakal dibentuk - MySQL 10.0.
Owah-owahan utama ing MySQL 9.1:
- Dhukungan kanggo ekspresi "Yen Ora Ana" wis ditambahake menyang operasi "Gawe VIEW", sing ngidini sampeyan ngatur nggawe tampilan mung yen tampilan kanthi jeneng sing ditemtokake durung ana lan supaya ora ngasilake kesalahan yen tampilan kasebut. wis digawe.
- Pemicu loading mandheg nalika nindakake operasi mung diwaca. Sadurunge, pemicu dimuat nalika tabel diakses, mbuang memori lan nggawe beban CPU ing kahanan nalika pemicu ora digunakake (contone, nalika nglakokake pitakon SELECT). Ing MySQL 9.1, pangolahan lan muat pemicu dipérang dadi rong tahap: maca metadata babagan pemicu lan parsing + nglakokaké pemicu. Data sing dipikolehi ing tahap pisanan disimpen sepisan banjur dituduhake ing macem-macem kedadeyan pemicu. Pemicu diurai lan dieksekusi mung kanggo ekspresi sing ngganti data. Kajaba iku, kanggo ngurangi konsumsi memori, tinimbang statis allocating buffer kanggo kesalahan nangani ing pemicu, kita ngalih menyang alokasi memori dinamis minangka needed.
- Output saka operasi EXPLAIN wis ditambahi kanggo nuduhake informasi babagan nggunakake multi-range maca lan nggunakake strategi semijoin, kang JOIN operasi proses baris saka mung siji meja.
- Eksekusi atom operasi "CREATE DATABASE" lan "DROP DATABASE" diwenehake kanggo nglindhungi saka kegagalan nalika ana kacilakan utawa kesalahan ing tingkat sistem file sajrone nglakokake operasi kasebut. Contone, sadurunge, nalika "CREATE DATABASE" tabrakan, struktur panyimpenan database sing ora bisa digunakake bisa digawe, sing mbutuhake intervensi manual kanggo ngresiki.
- Prosedur sing disimpen sing ditulis ing JavaScript nyedhiyakake dhukungan kanggo jinis VECTOR. Data kanthi jinis sing ditemtokake saiki bisa dikirim ing parameter input lan bali.
- Nambahake kemampuan kanggo keasliane nalika nyambung menyang DBMS nggunakake protokol OpenID Connect.
- Rong puluh pitu kerentanan wis didandani, sing paling parah (CVE-2024-5535) wis diwenehi tingkat keruwetan kritis (9.1 saka 10). Kerentanan kasebut bisa dieksploitasi saka jarak jauh tanpa otentikasi. Masalah iki disebabake dening pembacaan out-of-bounds ing perpustakaan OpenSSL lan nyebabake kacilakan utawa kebocoran memori ing respon sawise nyambung menyang server kanthi indikasi parameter protokol sing salah.
Source: opennet.ru
