Обновление MySQL 5.1.72, 5.5.34 и 5.6.13. Обзор новшеств тестового выпуска MySQL 5.7.2
🕛 24.09.2013, 17:58
Компания Oracle представила корректирующие выпуски Community-редакции СУБД MySQL 5.1.72, 5.5.34 и 5.6.13, в которых представлена серия исправлений ошибок. Некоторые ошибки явно не помечены как уязвимости, но могут быть использованы для совершения DoS-атак. Из исправлений можно отметить: Устранена ошибка, приводившая к некорректной работе функций AES_ENCRYPT() и AES_DECRYPT() в ситуации сборки с параметром AES_KEY_LENGTH, установленным в 192 или 256; Устранено регрессивное изменение, которое при определённых обстоятельствах приводило к краху при запуске в режиме восстановления после краха; Решена проблема с зацикливанием при использовании сжатых страниц памяти; Устранён крах при доступе к таблице INFORMATION_SCHEMA из подзапроса с попыткой установить блокировку для уже заблокированного mutex; Исправлены утечки памяти при неудачном завершении вызова mysql_real_connect() и в процессе оптимизации лишних подзапросов; Налажен полнотекстовый поиск в Innodb с использованием оператора "+", а также при использовании булевых операторов для поиска слов, содержащих апострофы; Решены проблемы с излишним расходованием памяти при одновременном запуске нескольких экземпляров хранимых процедур, содержащих некорректные SQL-выражения или требующие переподготовки (repreparation).
Одновременно объявлено о выходе второй тестовой версии MySQL 5.7 (Milestone 2). Основные особенности выпуска: Проведена работа по увеличению производительности. За счёт обеспечения линейной масштабируемости на системах, содержащих до 64 процессорных ядер, в тесте "Sysbench InnoDB Read-Only POINT SELECT" удалось добиться скорости в 500 тысяч запросов в секунду, что в два раза выше, чем прошлые показатели; Увеличена пропускная способность репликации данных на slave-сервере, благодаря реализации нового многопоточного межтранзакционного обработчика событий репликациии, позволяющего обрабатывать непересекающиеся транзакции в параллельных потоках, даже если эти транзации манипулируют одними и теми же элементами схемы БД; Добавлена поддержка полусинхронного режима репликации без потерь (lossless semi-synchronous replication), допускающего сохранение транзакции на основной системе только после подтверждения приёма от slave-серверов; В ALTER TABLE добавлена поддержка выражения RENAME INDEX для переименования индексов; Улучшение движка InnoDB: увеличена производительность работы с временными таблицами; добавлена возможность менять размер строк VARCHAR без перестроения таблицы (ALTER TABLE ...ALGORITHM=INPLACE, CHANGE COLUMN...VARCHAR()); добавлена поддержка типов данных для задания пространственных координат; введено отдельное пространство имён для таблиц с несжатыми данными; Расширены средства обработки состояния и диагностики работы СУБД. В Performance Schema добавлены инструменты для анализа состояния внутренней памяти СУБД, позволяющие отслеживать операции выделения памяти и использования памяти в процессе работы mysqld. Для диагности проблем в хранимых программах (Stored Programs) добавлен новый инструмент GET STACKED DIAGNOSTICS. В Performance Schema добавлена детальная информация о внутренних инструкциях, выполняемых внутри хранимых программ. Расширены средства для динамического управления триггерами, добавлена поддержка привязки нескольких триггеров к одному типу событий в одной таблице. Возможно задание порядка срабатывания триггеров при помощи опций FOLLOWS и PRECEDES; Добавлены средства для анализа запроса в процессе его выполнения - EXPLAIN может быть вызван для уже выполняемого в другой нити запроса; Обеспечена поддержка вывода детальных результатов EXPLAIN в формате JSON; В клиент mysql добавлена опция "--syslog" позволяющая отправлять в лог все вводимые команды; Прекращена поддержка отложенного выполнения операций, таких как "INSERT DELAYED" и "REPLACE DELAYED".