Utgivelse av databasesystemet MySQL 9.3.0

Oracle har etablert en ny grenen av databasesystemet MySQL 9.3.0. Byggene av MySQL Community Server 9.3.0 er gjort tilgjengelig for alle de viktigste distribusjonene av Linux, FreeBSD, macOS og Windows. I henhold til den nye utgivelsesmodellen som ble innfĂžrt i 2023, er MySQL 9.3 klassifisert som en «Innovation»-gren. Innovation-grenene anbefales for de som Ăžnsker tidlig tilgang til ny funksjonalitet, publiseres hvert 3. mĂ„ned og stĂžttes bare fram til publisering av neste betydelig utgivelse (for eksempel, etter at grenen 9.3 er utgitt, opphĂžrer stĂžtten for grenen 9.2). I sommer planlegges det Ă„ lage en LTS-utgivelse 9.4, som anbefales for implementeringer som trenger forutsigbarhet og langvarig opprettholdelse av uendret atferd. Etter LTS-grenen vil det bli opprettet en ny Innovation-gren — MySQL 10.0.

Hovedendringene i MySQL 9.3:

  • Utilsyn til mysqldump har fĂ„tt et nytt alternativ «—users» for Ă„ lage logiske dumps med informasjon om alle brukerkontoer, som vises gjennom SQL-uttrykkene «CREATE USER» og «GRANT». For Ă„ sette inn uttrykket «DROP USER» fĂžr «CREATE USER» finnes alternativet «—add-drop-user», mens alternativer «—include-user=user@host» og «—exclude-user=user@host» gir mulighet for selektiv gjenspeiling i dumpen for spesifikke brukere, som kan angis flere ganger.
  • I MLE-motoren (Multilingual Engine Component), som muliggjĂžr bruk av kode pĂ„ sprĂ„k som er forskjellige fra SQL i lagrede prosedyrer og funksjoner, er stĂžtte for JavaScript forbedret. For lagrede prosedyrer som bruker JavaScript er typen «DECIMAL» implementert, som kan brukes for inndata- og utdata-argumenter. Som standard vil MySQL-typen DECIMAL bli konvertert til JavaScript-typen «String» for sikkerhets skyld, men denne oppfĂžrselen kan overstyres med kommandoen ‘SELECT mle_set_session_state(‘{«decimal_type»:»Number»}’)’, etter hvilken JavaScript-typen «Number» vil bli brukt. Det stĂžttes konvertering til DECIMAL-type fra JavaScript-typene Boolean, Number, String og BigInt.
  • For lagrede prosedyrer i JavaScript er stĂžtte for innstilling av lokaliseringsparametere lagt til, ved hjelp av JavaScript API Intl. For eksempel kan nĂ„vĂŠrende lokalitet bestemmes med egenskapene «Intl.DateTimeFormat().resolvedOptions().locale», og lokaliteten kan overstyres med metoden «toLocaleString()».
  • Mulighetene for Ă„ administrere JavaScript-biblioteker har blitt utvidet: for Ă„ endre listen over importerte biblioteker kan man nĂ„ bruke uttrykkene «ALTER PROCEDURE» og «ALTER FUNCTION». Muligheten for Ă„ bruke uttrykket «ALTER LIBRARY» for Ă„ legge til, fjerne eller endre SQL-kommentarer til biblioteket er lagt til. For Ă„ fĂ„ informasjon om biblioteket, er uttrykket «SHOW LIBRARY STATUS» implementert.
  • StĂžtte for dynamisk lasting av JavaScript-biblioteker er lagt til. For dynamisk import av biblioteket bĂžr man bruke nĂžkkelordet «await», for eksempel «let module = await import(‘/db1/lib_${object_type}’)».
  • Optimaliseringene av forespĂžrslene som bruker kvantifiserte sammenligningsoperatorer, er utvidet. I tillegg til stĂžtten for operatorene «=ANY» og «ALL», er det i den nye versjonen lagt til stĂžtte for operatorene «>ANY», «>=ANY», «<ANY», «ALL», «>=ALL», «<ALL» og «<=ALL» ved optimalisering av underforespĂžrsel.
  • Pluginnen «version_tokens» er fjernet, som tidligere ble erklĂŠrt utdatert.
  • Det er forbudt Ă„ sette verdien 0 i systemvariabelen replica_parallel_workers.
  • 28 sĂ„rbarheter er rettet, hvorav 26 kan utnyttes eksternt med tilgang til Ă„ sende forespĂžrsel til DBMS. Seks av de mest alvorlige problemene har en faregrad pĂ„ 6.5 og er relatert til sĂ„rbarheter i InnoDB-motoren, parseren og optimalisatoren. Mindre alvorlige sĂ„rbarheter pĂ„virker mysqldump, InnoDB, optimalisator, DDL, UDF, parser og replikasjonssystemet.

Kilde: opennet.ru

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster