Publication de la base de données MySQL 9.1.0

La société Oracle a formé une nouvelle branche de la base de données MySQL 9.1.0. Les versions de MySQL Community Server 9.1.0 sont préparées pour toutes les principales distributions de Linux, FreeBSD, macOS et Windows. Dans le cadre du nouveau modèle de publication des versions introduit l'année dernière, MySQL 9.1 est classé dans les branches « Innovation », qui incluront également la prochaine version majeure MySQL 9.2. Les branches Innovation sont recommandées pour ceux qui souhaitent accéder plus tôt aux nouvelles fonctionnalités, elles sont publiées tous les 3 mois et ne sont prises en charge que jusqu'à la publication de la prochaine version majeure (par exemple, après l'apparition de la branche 9.1, la prise en charge de la branche 9.0 a été arrêtée). Un release LTS est prévu pour l'été prochain, recommandé pour les déploiements nécessitant prévisibilité et la conservation d'un comportement inchangé. Une nouvelle branche d'Innovation sera créée après la branche LTS — MySQL 10.0.

Principales modifications dans MySQL 9.1 :

  • L'opération « CREATE VIEW » a ajouté la prise en charge de l'expression « IF NOT EXISTS », permettant de créer une vue uniquement si une vue avec le nom spécifié n'existe pas encore et évitant de renvoyer une erreur si la vue a déjà été créée.
  • Le chargement des déclencheurs a été interrompu lors de l'exécution d'opérations se limitant à la lecture. Auparavant, les déclencheurs étaient chargés à chaque accès à la table, ce qui entraînait une consommation de mémoire et une charge sur le CPU dans des situations où les déclencheurs n'étaient pas utilisés (comme lors d'exécutions de requêtes SELECT). Dans MySQL 9.1, le traitement et le chargement des déclencheurs sont séparés en deux étapes : la lecture des métadonnées du déclencheur et l'analyse + l'exécution du déclencheur. Les données obtenues à la première étape sont conservées une fois et ensuite partagées dans différentes instances du déclencheur. L'analyse et l'exécution du déclencheur ne sont effectuées que pour les expressions qui entraînent une modification des données. De plus, pour réduire la consommation de mémoire, plutôt que d'allouer statiquement des tampons pour la gestion des erreurs dans les déclencheurs, un passage à une allocation dynamique de mémoire selon les besoins a été réalisé.
  • La sortie de l'opération « EXPLAIN » a été étendue, affichant désormais des informations sur l'utilisation de la lecture multi-plage (multi-range) et l'application de la stratégie de semi-joindre (semijoin), où lors des opérations JOIN, seules les lignes d'une table sont traitées.
  • L'exécution atomique des opérations «CREATE DATABASE» et «DROP DATABASE» est assurée pour protéger contre les pannes en cas de fermeture anormale ou d'erreurs au niveau du système de fichiers lors de l'exécution de ces opérations. Par exemple, lors d'une fermeture anormale, une structure de stockage de base de données incomplète et non fonctionnelle pouvait être formée, nécessitant une intervention manuelle pour être nettoyée.
  • Les procédures stockées écrites en JavaScript prennent désormais en charge le type VECTOR. Les données de ce type peuvent maintenant être transmises dans les paramètres d'entrée et de sortie.
  • Ajout de la possibilité d'authentification lors de la connexion à la SGBD en utilisant le protocole OpenID Connect.
  • 27 vulnérabilités ont été corrigées, dont la plus sérieuse (CVE-2024-5535) classée comme critique (9.1 sur 10). Cette vulnérabilité peut être exploitée à distance sans authentification. Elle est causée par la lecture de données en dehors de la zone de tampon allouée dans la bibliothèque OpenSSL, entraînant un plantage ou une fuite du contenu de la mémoire dans la réponse après connexion avec serveur en spécifiant des paramètres de protocole incorrects.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster