La société Oracle a créé une nouvelle branche de la base de données MySQL 8.3 et a publié une mise à jour corrective MySQL 8.0.36. Les versions MySQL Community Server 8.3.0 sont préparées pour toutes les principales distributions Linux, FreeBSD, macOS et Windows.
MySQL 8.3.0 est la troisième version créée dans le cadre du nouveau modèle de publication, qui prévoit deux types de branches MySQL : « Innovation » et « LTS ». Les branches Innovation, qui incluent MySQL 8.1, 8.2 et 8.3, sont recommandées pour ceux qui souhaitent accéder plus tôt aux nouvelles fonctionnalités. Ces branches sont publiées tous les 3 mois et ne sont prises en charge que jusqu'à la publication de la prochaine version majeure (par exemple, le support de la branche 8.2 prend fin après l'apparition de la branche 8.3). Les branches LTS sont recommandées pour les déploiements nécessitant prévisibilité et comportement stable à long terme. Les branches LTS seront publiées tous les deux ans et seront soutenues pendant 5 ans, avec une possibilité d'obtenir 3 années supplémentaires de support étendu. La version LTS de MySQL 8.4 est attendue au printemps 2024, après quoi une nouvelle branche Innovation 9.0 sera créée.
Principales modifications dans MySQL 8.3 :
- 25 vulnérabilités ont été corrigées, dont une (CVE-2023-5363, affectant OpenSSL) pouvant être exploitée à distance. Le problème le plus grave, lié à l'utilisation du protocole Kerberos, a reçu un niveau de gravité de 8,8. Moins graves, les vulnérabilités avec un niveau de gravité de 6,5 concernent l'optimiseur, UDF, DDL, DML, la réplication, le système de privilèges et les outils de chiffrement.
- Sur la plateforme Linux, le support de l'assembleur mold a été ajouté. Pour l'activer, l'option « -DWITH_LD=mold|lld » est prévue.
- Les exigences du standard C++ supporté par le compilateur ont été portées de C++17 à C++20.
- Le support de la compilation avec les bibliothèques externes Boost C++ a été abandonné - lors de la compilation de MySQL, seules les bibliothèques Boost intégrées sont maintenant utilisées. Les options de compilation WITH_BOOST, DOWNLOAD_BOOST et DOWNLOAD_BOOST_TIMEOUT ont été supprimées de CMake.
- Le support de la compilation avec Visual Studio 2022 a été abandonné. La version minimale prise en charge de l'outil Clang a été augmentée de Clang 10 à Clang 12.
- Dans MySQL Enterprise Edition, le support de la collecte de télémétrie avec des métriques de performance de serveurs au format OpenTelemetry et la transmission des données à un gestionnaire réseau prenant en charge ce format ont été ajoutés.
- Le format des identifiants GTID (identifiant de transaction global) utilisé lors de la réplication pour identifier les groupes de transactions a été étendu. Le nouveau format GTID est « UUID::NUMBER » (au lieu de « UUID:NUMBER »), où TAG est une chaîne de caractères arbitraire permettant d'attribuer des noms uniques à un groupe spécifique de transactions pour simplifier le traitement et le parsing.
- Ajout de deux nouvelles variables « Deprecated_use_i_s_processlist_count » et « Deprecated_use_i_s_processlist_last_timestamp » pour suivre l'utilisation de la table obsolète INFORMATION_SCHEMA.PROCESSLIST.
- La définition de la variable d'environnement AUTHENTICATION_PAM_LOG ne provoque plus l'affichage des mots de passe dans les messages de diagnostic (une valeur PAM_LOG_WITH_SECRET_INFO est requise pour mentionner le mot de passe).
- Ajout de la table tp_connections contenant des informations sur chaque connexion dans le pool de threads.
- Ajout de la variable système « explain_json_format_version » pour choisir la version du format JSON utilisée dans les expressions « EXPLAIN FORMAT=JSON ».
- Dans le store InnoDB, les options « —innodb » et « —skip-innodb », déclarées obsolètes depuis la version MySQL 5.6, ont été supprimées. Le plugin memcached pour InnoDB, déclaré obsolète dans MySQL 8.0.22, a également été retiré.
- Certaines configurations et options de ligne de commande liées à la réplication, déclarées obsolètes dans des versions précédentes, ont été supprimées : « —slave-rows-search-algorithms », « —relay-log-info-file », « —relay-log-info-repository », « —master-info-file », « —master-info-repository », « log_bin_use_v1_events », « transaction_write_set_extraction », « group_replication_ip_whitelist », « group_replication_primary_member ». L'utilisation de l'option IGNORE_SERVER_IDS avec le mode de réplication GTID (gtid_mode=ON) n'est plus prise en charge.
- La prise en charge des fonctions C API suivantes a été arrêtée : mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown(), mysql_ssl_set().
- La prise en charge de l'instruction « FLUSH HOSTS », déclarée obsolète dans MySQL 8.0.23, a été arrêtée.
Source : opennet.ru
