Publication de la base de données MySQL 9.3.0

La société Oracle a créé une nouvelle branche de la base de données MySQL 9.3.0. Les versions de MySQL Community Server 9.3.0 sont préparées pour toutes les principales distributions Linux, FreeBSD, macOS et Windows. Conformément à la nouvelle modèle de publication de versions introduit en 2023, MySQL 9.3 est classé dans les branches « Innovation ». Les branches d'Innovation sont recommandées pour ceux qui souhaitent accéder plus tôt à de nouvelles fonctionnalités, elles sont publiées tous les trois mois et ne sont prises en charge que jusqu'à la publication de la prochaine version majeure (par exemple, le soutien de la branche 9.2 sera arrêté après la publication de la branche 9.3). Un LTS (Long Term Support) est prévu pour l'été, avec la version 9.4, recommandée pour des déploiements nécessitant prévisibilité et comportement stable à long terme. Une nouvelle branche d'Innovation sera formée après la branche LTS — MySQL 10.0.

Principales modifications dans MySQL 9.3 :

  • L'outil mysqldump a ajouté l'option « —users » pour créer des sauvegardes logiques avec des informations sur tous les comptes, extraites via les expressions SQL « CREATE USER » et « GRANT ». Pour insérer l'instruction « DROP USER » avant « CREATE USER », l'option « —add-drop-user » a été prévue, et pour l'inclusion sélective dans la sauvegarde de certains utilisateurs — les options « —include-user=user@host » et « —exclude-user=user@host », qui peuvent être spécifiées plusieurs fois.
  • Dans le moteur MLE (Composant de moteur multilingue), qui permet d'utiliser du code dans des procédures stockées et des fonctions dans des langages autres que SQL, le support de JavaScript a été amélioré. Pour les procédures stockées en JavaScript, un type « DECIMAL » a été implémenté, pouvant être utilisé pour les arguments d'entrée et de sortie. Par défaut, pour des raisons de sécurité, le type DECIMAL de MySQL est converti en type « String » de JavaScript, mais ce comportement peut être contourné par la commande 'SELECT mle_set_session_state('{'decimal_type': 'Number'}')', après quoi le type « Number » de JavaScript sera utilisé. La conversion vers le type DECIMAL est prise en charge pour les valeurs avec les types Boolean, Number, String et BigInt de JavaScript.
  • Dans les procédures stockées en JavaScript, le support de la définition des paramètres de localisation a été ajouté, en utilisant l'API JavaScript Intl. Par exemple, pour déterminer la locale actuelle, on peut utiliser les propriétés « Intl.DateTimeFormat().resolvedOptions().locale », et pour redéfinir la locale — la méthode « toLocaleString() ».
  • Les capacités de gestion des bibliothèques JavaScript ont été étendues : pour modifier la liste des bibliothèques importées, il est maintenant possible d'utiliser les expressions « ALTER PROCEDURE » et « ALTER FUNCTION ». L'expression « ALTER LIBRARY » a été ajoutée pour ajouter, supprimer ou modifier un commentaire SQL pour la bibliothèque. Pour obtenir des informations sur la bibliothèque, l'expression « SHOW LIBRARY STATUS » a été mise en œuvre.
  • Ajout de la prise en charge du chargement dynamique des bibliothèques JavaScript. Pour l'importation dynamique d'une bibliothèque, il convient d'utiliser le mot-clé « await », par exemple « let module = await import(‘/db1/lib_${object_type}’) ».
  • Optimisations élargies pour les requêtes utilisant des opérateurs de comparaison quantifiés. En plus de la prise en charge des opérateurs « =ANY » et « ALL », la nouvelle version introduit la prise en charge des opérateurs « >ANY », « >=ANY », « <ANY », « ALL », « >=ALL », « <ALL » et « <=ALL » lors de l'optimisation des sous-requêtes.
  • Le plugin « version_tokens », précédemment déclaré obsolète, a été supprimé.
  • L'attribution de la valeur 0 à la variable système replica_parallel_workers est interdite.
  • 28 vulnérabilités ont été corrigées, dont 26 peuvent être exploitées à distance en ayant accès à la soumission de requêtes au SGBD. Les six problèmes les plus sérieux ont un niveau de gravité de 6,5 et concernent des vulnérabilités dans le moteur InnoDB, le parseur et l'optimiseur. Les vulnérabilités moins dangereuses touchent mysqldump, InnoDB, l'optimiseur, DDL, UDF, le parseur et le système de réplication.

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