В начале июля 2024 года Oracle выпустила СУБД MySQL 9.0.0. Разработчики проекта подготовили и выложили в открытый доступ сборки MySQL Community Server 9.0.0 для основных дистрибутивов Linux, FreeBSD, macOS и Windows.
В 2023 году Oracle объявила об изменении модели формирования релизов СУБД MySQL. Разработчики начали выпускать два вида веток MySQL: Innovation (новые функции, частое обновление, три месяца поддержки) и LTS (с расширенным временем поддержки и сохранением неизменного поведения).
Проект MySQL 9.0 отнесён к ветке Innovation, к которым также будут отнесены следующие значительные релизы MySQL 9.1 и 9.2.
Дистрибутивы на базе Innovation-веток рекомендованы для тех пользователей, кто хочет раньше получать доступ к новой функциональности. Они публикуются каждые 3 месяца и поддерживаются только до публикации следующего значительного релиза (например, после появления ветки 9.1 будет прекращена поддержка ветки 9.0).
Примерно через год Oracle планирует сформировать LTS-релиз, который будет рекомендован для внедрений на системах, которым необходима предсказуемость и длительное сохранение неизменного поведения. Следом за LTS-веткой будет сформирована новая сборка MySQL 10.0 Innovation.
По данным ресурса OpenNET, в MySQL 9.0.0 разработчиками внесены дополнения и изменения:
• при выполнении конструкции EXPLAIN ANALYZE INTO добавлена возможность сохранения вывода в формате JSON в пользовательскую переменную, которая затем может использоваться в качестве аргумента в функциях для работы с JSON;
• разрешено оформление выражений CREATE EVENT, ALTER EVENT и DROP EVENT в виде параметризованных запросов внутри хранимых процедур. Создание параметризованного запроса осуществляется с использованием выражения PREPARE, а выполнение — с помощью выражения EXECUTE;
• добавлены две новые системные таблицы, содержащие сведения о системных переменных: variables_metadata (содержит информацию об именах, области действия, типах и диапазонах значений всех поддерживаемых MySQL-сервером системных переменных) и global_variable_attributes (содержит значения атрибутов, выставленных для глобальных переменных, таких как offline_mode и read_only);
• удалён ранее объявленный устаревшим серверный плагин mysql_native_password, обеспечивающий аутентификацию при помощи паролей. Вместо mysql_native_password рекомендуется перейти на использование плагина caching_sha2_password, применяющего для хэширования алгоритм SHA2 вместо SHA1;
• добавлено 15 переменных для настройки и инспектирования движка MLE (Multilingual Engine Component), позволяющего использовать в хранимых процедурах и функциях код на языках, отличных от SQL.