Udgivelse af databasen MySQL 9.1.0

Oracle har oprettet en ny gren af MySQL-databasen 9.1.0. Bygningerne af MySQL Community Server 9.1.0 er forberedt til alle større Linux-distributioner, FreeBSD, macOS og Windows. Som en del af den nye model for versionering, der blev indført sidste år, er MySQL 9.1 klassificeret som 'Innovation'-grene, som også vil inkludere den næste væsentlige udgivelse MySQL 9.2. Innovation-grene anbefales til dem, der ønsker tidlig adgang til nye funktioner; de offentliggøres hver 3. måned og understøttes kun indtil den næste store version udgives (for eksempel ophører understøttelsen af version 9.0 efter, at version 9.1 er udgivet). I sommeren næste år planlægges der at skabe en LTS-udgivelse, som anbefales til systemer, der har brug for forudsigelighed og langvarig stabilitet. Efter LTS-grenen vil en ny Innovation-gren blive oprettet — MySQL 10.0.

Væsentlige ændringer i MySQL 9.1:

  • Der er tilføjet støtte til udtrykket 'IF NOT EXISTS' i operationen 'CREATE VIEW', hvilket muliggør oprettelse af visninger kun hvis en visning med det angivne navn ikke allerede eksisterer, og undgår returnering af fejl, hvis visningen allerede er oprettet.
  • Indlæsningen af triggere er ophørt ved udførelse af operationer, der kun involverer læsning. Tidligere blev triggere indlæst ved enhver adgang til tabellen, hvilket førte til unødvendigt hukommelsesforbrug og CPU-belastning i situationer, hvor triggere ikke blev brugt (for eksempel ved SELECT-forespørgsler). I MySQL 9.1 er behandlingen og indlæsningen af triggere opdelt i to faser: læsning af metadata om triggeren og analyse + udførelse af triggeren. Data, der indhentes i den første fase, opbevares én gang og deles derefter mellem forskellige instanser af triggeren. Analyse og udførelse af triggeren udføres kun for udtryk, der medfører ændring i data. Desuden, for at reducere hukommelsesforbruget, er der sket en overgang fra statisk tildeling af buffere til dynamisk hukommelsestildeling ved behov for behandling af fejl i triggere.
  • Udgangen af operationen 'EXPLAIN' er blevet udvidet, hvor der nu vises oplysninger om brugen af flerområde-læsning (multi-range) og anvendelsen af semijoin-strategien, hvorved kun rækker fra én tabel behandles under JOIN-operationer.
  • Der er sikret atomær udførelse af "CREATE DATABASE" og "DROP DATABASE" operationer for at beskytte mod fejl i tilfælde af systemnedbrud eller filsystemfejl under udførelsen af disse operationer. For eksempel kunne der tidligere opstå en ufuldstændig ikke-fungerende databaseopbygning ved systemnedbrud under "CREATE DATABASE", hvilket krævede manuel oprydning.
  • I de på JavaScript skrevde lagrede procedurer er der tilføjet støtte for typen VECTOR. Data med den angivne type kan nu overføres i input- og outputparametre.
  • Muligheden for autentificering ved forbindelse til DBMS ved brug af OpenID Connect-protokollen er blevet tilføjet.
  • 27 sårbarheder er blevet udbedret, hvoraf den mest alvorlige (CVE-2024-5535) har fået kritisk faregrad (9,1 ud af 10). Sårbarheden kan udnyttes eksternt uden autentificering. Problemet skyldes læsning af data fra områder uden for tildelt buffer i OpenSSL-biblioteket og kan føre til nedbrud eller hukommelseslækage i svaret efter forbindelse med serveren ved at angive forkerte protokolparametre.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster