La société Oracle a créé une nouvelle branche de la base de données MySQL 9.6.0. Les builds de MySQL Community Server 9.6.0 sont préparés pour toutes les principales distributions Linux, FreeBSD, macOS et Windows. Conformément au modèle de publication de versions mis en place en 2023, MySQL 9.6 est classé dans les branches « Innovation ». Les branches Innovation sont recommandées pour ceux qui souhaitent accéder plus tôt à de nouvelles fonctionnalités, publiées tous les 3 mois et soutenues uniquement jusqu'à la publication de la prochaine version significative (par exemple, la prise en charge de la branche 9.5 est arrêtée après l'apparition de la branche 9.6). À l'avenir, un LTS sera formé pour la version 9.7, recommandé pour les déploiements nécessitant prévisibilité et longévité de comportement. Suite à la sortie LTS, une nouvelle branche Innovation sera formée — MySQL 10.0.
La liste des changements significatifs dans MySQL 9.6 reprend intégralement le rapport de modifications de MySQL 9.5. Elle mentionne également le changement de comportement précédemment signalé du paramètre « innodb_log_writer_threads », la modification de la valeur par défaut du paramètre « binlog_transaction_dependency_history_size », la dépréciation de la méthode d'authentification SCRAM-SHA-1 et l'abandon du soutien des variables « group_replication_allow_local_lower_version_join » et « replica_parallel_type ». La liste globale des corrections est différente et contient les changements notables suivants :
- Le système d'audit a été retravaillé, mettant en œuvre un sous-système modulaire de journal d'audit, permettant d'installer et de gérer séparément différents composants pour le suivi de l'audit, ainsi que simplifiant la configuration du format des journaux, de l'emplacement des fichiers d'audit et des paramètres de mise en mémoire tampon. Pour modifier la variable système audit_log_rotate_on_size, des privilèges AUDIT_ADMIN sont désormais requis.
- Une nouvelle structure de données et une nouvelle bibliothèque de fonctions intégrées pour travailler avec des ensembles d'identifiants de transaction globaux (GTID, Global Transaction ID) utilisés lors de la réplication ont été mises en place. La nouvelle implémentation se distingue par un meilleur une grande performance et une simplification du code.
- Dans le stockage InnoDB, l'efficacité de génération des identifiants uniques rowid dans les tables sans clé primaire a été améliorée. Un problème de restauration incorrecte de l'état des transactions qui, au moment de l'arrêt anormal, étaient dans un état « PREPARED » a été résolu.
- Une nouvelle option « —container_aware » a été ajoutée, permettant d'activer lors du démarrage la définition des limites de CPU et de mémoire fixées dans le conteneur.
- Les capacités de débogage de la réplication ont été étendues.
- Les fonctions SQL MD5() et SHA1() ont été séparées dans un composant distinct "classic_hashing", qui peut être désactivé si nécessaire pour bloquer l'utilisation d'algorithmes de hachage non sécurisés.
- Quatorze vulnérabilités ont été corrigées, dont deux peuvent être exploitées à distance. Le problème le plus grave a un niveau de danger critique (9.8), présent dans l'image Docker officielle contenant MySQL et lié à une vulnérabilité dans la bibliothèque SQLite (CVE-2025-6965), utilisée dans les outils auxiliaires pour configurer et travailler avec MySQL. La deuxième vulnérabilité exploitable à distance a un niveau de danger de 7.5 et est causée par un dépassement de tampon (CVE-2025-9230) dans la bibliothèque OpenSSL. Des vulnérabilités moins dangereuses concernent OpenSSL, InnoDB, l'optimiseur, DDL, le parseur, l'authentification modulaire et le regroupement de threads. Les détails ne sont pas encore disponibles.
Source : opennet.ru
