Хронология релизов MySQL — какой выбрать?
Ratings (1)История версий MySQL поможет разобраться в том, с какой именно версией сервера вам лучше работать. А если вы уже давно пользуетесь ею, наверняка будет интересно вспомнить, как развивалась эта система.
- Версия 3.23 (2001). Этот релиз MySQL считается первым по-настоящему жизнеспособным вариантом для широкого применения. В этом варианте MySQL еще не сильно превосходила язык запросов на основе неструктурированных файлов, но MyISAM была представлена в качестве замены ISAM — более старой и гораздо более ограниченной подсистемы хранения. Также стала доступна подсистема InnoDB, но из-за своей новизны она не была включена в стандартный двоичный дистрибутив. Чтобы использовать InnoDB, нужно было скомпилировать сервер самостоятельно. В версии 3.23 были добавлены полнотекстовая индексация и репликация. Последняя была призвана стать той самой отличительной особенностью, которая сделала бы MySQL известной в качестве базы данных, по большей части управляемой через Интернет.
- Версия 4.0 (2003). Появилась новая синтаксическая функция поддержки работы команд
UNION
иDELETE
с несколькими таблицами. Репликация была переписана для использования двух потоков на реплике вместо одного потока, который выполнял всю работу и нес убытки от переключения задачи. InnoDB была запущена как стандартная составляющая сервера с полным набором отличительных характеристик, таких как строковая блокировка, внешние ключи и т. д. Кэширование запросов было введено в версии 4.0 (и с тех пор не изменилось). Также была представлена поддержка SSL-соединений. - Версия 4.1 (2005). Были добавлены дополнительные функции синтаксиса запросов, включая подзапросы и команду
INSERT ON DUPLICATE KEY UPDATE
. Начала поддерживаться кодировка UTF-8. Появились новый двоичный протокол и поддержка предварительно подготовленных операторов. - Версия 5.0 (2006). В этой версии появилось несколько «корпоративных» функций: представления, триггеры, хранимые процедуры и хранимые функции. Подсистема хранения данных ISAM полностью удалена, введены новые подсистемы хранения, например Federated.
- Версия 5.1 (2008). Этот релиз стал первым после того, как Sun Microsystems поглотила MySQL АВ; работа над ним продолжалась более пяти лет, В версии 5.1 были представлены сегментирование, построчная репликация и разнообразные API для плагинов, включая API подключаемой подсистемы хранения. Подсистема хранения BerkeleyDB, первая транзакционная подсистема хранения в MySQL, удалена, а некоторые другие, такие как Federated, устарели. Кроме того, компания Oracle, которая к этому моменту уже владела Innobase Оy, выпустила подключаемую подсистему хранения InnoDB.
- Версия 5.5 (2010). MySQL 5.5 была первой версией, выпущенной после того как Oracle поглотила Sun (и, следовательно, MySQL). Основное внимание было уделено улучшению производительности, масштабируемости, репликации, сегментированию и поддержке Microsoft Windows, внесено и множество других улучшений. InnoDB стала подсистемой хранения, установленной по умолчанию, а многие устаревшие функции, настройки и параметры были удалены. Добавлены база данных
PERFORMANCE_SCHEMA
, а также первая партия расширенного инструментария. Добавлены новые API плагинов для репликации, аутентификации и аудита. Появилась поддержка полусинхронного механизма репликации, и в 2011 году Oracle выпустила коммерческие плагины для аутентификации и организации пула потоков. Внесены значительные изменения в архитектуру InnoDB, например, появился разделенный буферный пул. - Версия 5.6 (2013). MySQL 5.6 приобрела множество новых функций, в том числе впервые за многие годы появились значительные улучшения оптимизатора запросов, больше плагинов API (например, один для полнотекстового поиска), улучшения механизма репликации и значительно расширенные инструменты в базе данных
PERFORMANCE_SCHEMA
. В то время как версия MySQL 5.5 в основном стремилась улучшить и исправить базовые функции и содержала немного нововведений, MySQL 5. 6 нацелена на серьезное улучшение работы сервера и повышение производительности. - Версия 6.0 (отменена). Версия 6.0 вносит путаницу из-за перекрывающейся нумерации. Она была анонсирована во время разработки версии 5.1. Ходили слухи о большом количестве новых функций, таких как резервные онлайн-копии и внешние ключи на уровне сервера для всех подсистем хранения, улучшение механизма подзапросов и поддержка пула потоков. Этот релиз был отменен, и Sun возобновила разработку версии 5.4, которая в итоге была выпущена как версия 5.5. Многие из возможностей версии 6.0 реализованы в версиях 5.5 и 5.6.
- Версия 8.0 (2018). Основные возможности версии 8.0 хорошо изложены в статье на нашем портале.
Давайте подведем итоги исторического обзора MySQL: на раннем этапе жизненного цикла она стала прорывной технологией. Несмотря на ограниченные функциональные возможности и второсортные функции, ее отличительные особенности и низкая стоимость сделали ее революционной новинкой, которая взорвала Интернет. В ранних версиях 5.x MySQL попыталась выйти на корпоративный рынок с такими функциями, как представления и хранимые процедуры, но они были нестабильны и содержали ошибки, поэтому не все шло как по маслу. Если вдуматься, то поток исправлений ошибок, допущенных в MySQL 5.0, не иссяк вплоть до релиза 5.0.50, a MySQL 5.1 была ненамного лучше. Выпуск релизов 5.0 и 5.1 был отложен, а поглощения, произведенные Sun и Oracle, заставили многих наблюдателей понервничать. Но, на наш взгляд, развитие идет полным ходом: версия MySQL 5.5 стала релизом самого высокого качества в истории MySQL, Oracle сделала MySQL гораздо более удобной для корпоративных клиентов, а версия 5.6 обещает значительные улучшения функциональности и производительности.
Говоря о производительности, неплохо было бы продемонстрировать базовый эталонный тест изменения производительности сервера с течением времени. Мы решили не тестировать версии старше 4.1, потому что сейчас редко можно встретить 4.0 и более старые. Кроме того, очень сложно сравнивать эталонные тесты разных версий по причинам, о которых вы подробнее прочтете в следующей главе. Мы получили массу удовольствия, создавая метод эталонного тестирования, который будет работать одинаково со всеми тестируемыми версиями сервера, и нам потребовалось предпринять множество попыток, прежде чем мы достигли успеха. В табл. 1. показано количество транзакций в секунду для нескольких уровней конкурентного доступа.
Таблица 1. Эталонный тест блокировки «только для чтения» нескольких версий MySQL
Потоки | MySQL 4.1 | MySQL 5.0 | MySQL 5.1 | MySQL 5.1 c InnoDB | MySQL 5.5 | MySQL 5.6 |
1 | 686 | 640 | 596 | 594 | 531 | 526 |
2 | 1307 | 1221 | 1140 | 1139 | 1077 | 1019 |
4 | 2275 | 2168 | 2032 | 2043 | 1938 | 1831 |
8 | 3879 | 3746 | 3606 | 3681 | 3523 | 3320 |
16 | 4374 | 4527 | 4393 | 6131 | 5881 | 5573 |
32 | 4591 | 4864 | 4698 | 7762 | 7549 | 7139 |
64 | 4688 | 5078 | 4910 | 7536 | 7269 | 6994 |
На рис. 1. изображен график, который представляет результаты в более наглядном виде.
Прежде чем интерпретировать результаты, следует немного рассказать о самом эталонном тесте. Мы запускали его на машине Cisco UCS С250 с двумя шестиядерными процессорами, каждый из которых имеет два аппаратных потока. Сервер содержит 384 Гбайт ОЗУ, но мы провели тест с объемом данных 2,5 Гбайт, поэтому настроили для MySQL пул буферов размером 4 Гбайт. Эталонным тестом была стандартная рабочая нагрузка «только для чтения» SysBench, причем все данные были в InnoDB, хранились в оперативной памяти и зависели только от быстродействия центрального процессора. Мы провели 60-минутный тест для каждой точки замера, измеряя пропускную способность каждые 10 секунд и используя 900 секунд измерений после прогрева и стабилизации сервера для получения окончательных результатов.
Теперь, глядя на результаты, мы можем заметить две основные тенденции. Во-первых, версии MySQL, которые включают плагин InnoDB, намного лучше работают при более высокой степени конкурентности, то есть они более масштабируемы.
Этого следовало ожидать, так как нам известно, что предыдущие версии серьезно ограничены в плане поддержки конкурентности. Во-вторых, более новые версии MySQL медленнее старых при однопоточных рабочих нагрузках, чего вы, возможно, и не ожидали. Но это легко объяснить, отметив, что нагрузка «только для чтения» — очень простая рабочая нагрузка. Новые версии серверов имеют более сложную грамматику SQL и множество других функций и улучшений, которые позволяют производить более сложные запросы, но также требуют дополнительных издержек для простых запросов, которые мы как раз и использовали в эталонном тесте. Старые версии сервера проще и, следовательно, имеют преимущество при выполнении простых запросов.
Рис. 1. Эталонный тест блокировки «только для чтения» нескольких версий MySQL
Мы хотели показать вам более сложный эталонный тест чтения/записи (например, ТРС-С) с более высокой степенью конкурентности, но не смогли сделать это для большого количества столь разных версий сервера. И можем сказать, что в целом новые версии сервера имеют более высокую и более стабильную производительность при сложных нагрузках, особенно при высокой степени конкурентности, и с большим набором данных.
MySQL 8.0 еще слишком сырая и по ней накоплено мало статистики. Ее следует использовать только тогда, когда Вам необходимы новые функции этой версии, описанные по ссылке в статье выше.
Какую версию лучше использовать вам? Это зависит от особенностей вашего бизнеса больше, чем от технических потребностей. В идеале вы должны ориентироваться на самую новую из доступных версий, но, конечно, можете подождать до тех пор, пока не появится новейшая версия с первыми исправлениями ошибок. Если вы только разрабатываете приложение, то есть еще не выпустили его, можете задуматься о его создании в следующей версии, чтобы максимально отсрочить обновление и увеличить жизненный цикл.
Использование MySQL в качестве… 2155 просмотров Андрей Волков Tue, 01 Oct 2019, 05:41:51
Модель развития базы данных My. .. 1306 просмотров Ирина Светлова Thu, 10 Jan 2019, 12:29:03
MyISAM: подсистема хранения ба… 2457 просмотров Ирина Светлова Wed, 04 Aug 2021, 19:39:29
MySQL: подсистемы хранения сто… 1264 просмотров Ирина Светлова Sat, 07 Aug 2021, 10:28:39
- MySQL
Документация ISPmanager 5 Lite : Альтернативные версии MySQL
Введение
MySQL — свободная реляционная система управления базами данных. У пользователей ISPmanager 5 Lite есть возможность установить несколько альтернативных версий MySQL на одном сервере в дополнение к дефолтной. Это стало возможным с использованием контейнерной виртуализации Docker.
Обратите внимание!
В версии панели ISPmanager 5 Lite 5.71.0 механизм работы был изменен, все изменения Вы можете видеть в данной документации.
Системные требования
Поддерживаемые операционные системы: CentOS 7, Ubuntu 18, Debian 8 и выше.
Для успешного разворачивания Docker количество оперативной памяти на сервере должно быть не менее 2 Гб.
Системы виртуализации OpenVZ и LXC не поддерживаются.
Установка альтернативного MySQL сервера. Lite-версия
Для установки нового MySQL-сервера пройдите Настройки->Серверы баз данных и нажмите на кнопку Создать. Вы попадете на форму создания сервера:
Если Вы выбираете тип сервера MySQL Вам предоставится возможность выбрать действие для данного типа сервера. Вы можете:
- Подключить существующий локальный или удаленный сервер
- Установить новый локальный MySQL-сервер.
В данный момент поддерживаются следующие версии:
- MySQL 5.5
- MySQL 5.6
- MySQL 5.7
- MySQL 8.0
- Mariadb 10.0
- Mariadb 10.1
- Mariadb 10.2
- Mariadb 10.3
Так же необходимо будет указать имя будущего сервера, которое будет отображаться в панели и указать пароль для доступа пользователя root.
Обращаем ваше внимание, что по умолчанию новый сервер будет слушать ip 127.0.0.1(localhost) и для того, чтобы он стал доступен извне, Вам необходимо поставить галочку в чекбокс Доступность извне. В этом случае Вам предоставится возможность выбора ip-адреса который будет прослушивать будущий сервер.
При выборе адреса 0.0.0.0 сервер будет прослушивать все возможные источники.
Если Вы хотите, чтобы новый сервер использовался для установки Ваших APS-скриптов, поставьте галочку в чекбокс Установка APS.
Обратите внимание!
В случае, если ни для какого из Ваших серверов не выбрана опция Установка APS, то при установке скриптов будет использоваться локальный сервер, если же и локальный отсутствует, то первый в списке.
После того, как все данные будут заполнены, нажмите кнопку Ок.
Установка Docker производится во время установки на сервер первой альтернативной версии MySQL.
Создание базы данных
После того, как сервер полностью установится, будет настроен и появится в общем списке серверов, для создания базы данных пройдите в Инструменты → Базы данных. При создании базы выберите из списка серверов имя нового сервера.
Технология
Все альтернативные MySQL-серверы разворачиваются внутри «контейнеров», которые представляют из себя обособленную среду. Данные каждого контейнера хранятся в отдельной директории /var/lib/имя_сервера. Созданием и работой с контейнерами занимается Docker, в его же репозиториях хранятся и устанавливаемые версии MySQL.
Процесс установки контейнера:
- Создание директории для контейнера (/var/lib/имя_сервера)
- Загрузка выбранной версии MySQL из репозитория
- Выбор свободного порта для проброса из контейнера (первый свободный порт начиная с 3310)
- Настройка сервера и установка пароля для пользователя root
Обновление контейнеров
Каждый контейнер создается на основе определенного образа, хранящегося в репозитории докера, которые периодически обновляются. Так как в данный момент, в панели поддерживаются только mysql-контейнеры, запуск обновления был вынесен нами на форму управления серверами баз данных. Запуск обновления контейнеров может быть отложен. Для этого на форме обновления контейнеров достаточно установить галочку Отложенный запуск и выбрать удобное время. В момент проверки возможности обновления контейнеров, все образы будут заново скачаны из репозиториев докера. Их версии будут сравнены с версиями образов контейнеров. Каждый контейнер с устаревшим образом будет обновлен.
Версии базы данных и политики версий | Облачный SQL для MySQL
MySQL | PostgreSQL | SQL ServerНа этой странице описаны политики поддержки версий базы данных Cloud SQL.
Основные и дополнительные версии, поддерживаемые Cloud SQL
Cloud SQL поддерживает следующие версии баз данных:
Основная версия | Дополнительная версия |
---|---|
MySQL 8.0 (по умолчанию) | 90 018 8.0.33|
MySQL 5.7 | 900 18 5.7.42|
MySQL 5.6 | 5.6.51 |
Cloud SQL автоматически поддерживает актуальность ваших экземпляров с исправлениями и обновлениями минорных версий.
Как указано выше, ядра баз данных, поддерживаемые Cloud SQL, включают несколько версий. Версии могут различаться по своим функциональность и типы возникающих проблем. Хотя Cloud SQL признает, что обновления влияют на пользователей, мы стремимся предоставлять актуальную функциональность и важные патчи.
Основные и дополнительные версии
Для MySQL первые два числа в номере версии образуют основную версию. число. Например, для версии 5.7.13 Cloud SQL использует 5.7 в качестве основного версия и 13 как младшая версия. Примечание. Терминология версии Cloud SQL отличается от терминологии MySQL. В Документация MySQL, основная версия называется серийным номером выпуска, а второстепенная версия называется версия выпуска серии.Поддержка основной версии
Cloud SQL поддерживает новые основные версии в течение пяти месяцев после выпуск доступности разработчиком механизма базы данных.
Поддержка минорных версий
Cloud SQL стремится поддерживать новые минорные версии в течение трех месяцев после выпуск доступности разработчиком механизма базы данных. После облачного SQL начинает поддерживать новую минорную версию, новые экземпляры автоматически предоставлено в новой версии. Существующие экземпляры обновляются до новых версии во время следующего планового развертывания обслуживания.
Cloud SQL определяет целевую дополнительную версию для каждого движок базы данных. Когда целевая дополнительная версия отличается от дополнительной версии для Экземпляр Cloud SQL, Cloud SQL обновляет эту версию во время следующий цикл технического обслуживания. Вы можете контролировать день и время, когда техническое обслуживание перезапуски происходят путем установки окна обслуживания для вашего экземпляра.
Для MySQL 8.0, когда Cloud SQL начинает поддержку новой дополнительной версии, пользователи могут обновить существующие экземпляры до новой дополнительной версии. Видеть Обновите минорную версию MySQL для экземпляра. Новые экземпляры автоматически предоставляются в новой дополнительной версии после новая дополнительная версия становится версией по умолчанию.
План прекращения поддержки основной версии
Когда Cloud SQL намеревается прекратить поддержку определенной основной версии, мы отправит уведомление об устаревании, предупреждая клиентов как минимум за 12 месяцев.
Cloud SQL также предоставляет инструменты для минимизации сбоев при обновлении, поскольку нужный. Любой экземпляр, который не перешел на новую основную версию в конце 12-месячный период будет автоматически обновлен.
Когда началась поддержка Cloud SQL для каждой версии базы данных?
В следующей таблице показано, когда поддержка Cloud SQL для версий базы данных стал общедоступным.
Версия | Дата начала |
---|---|
MySQL 8.0 | 30 августа 2020 г. |
MySQL 5.7 | 1 августа 2016 г. |
MySQL 5.6 | 1 августа 2016 г. |
версий MySQL | Краткий обзор версий MySQL
Обновлено 8 июня 2023 г.
Версии MySQL — это метод, использующий последовательность нумерации для отслеживания некоторой информации о работе MySQL в целях разработки и обслуживания. Это сложный способ быть в курсе текущих и будущих версий, которые содержат улучшенные функции и исправлены любые ошибки, обнаруженные в предыдущих версиях.
При разработке программного обеспечения управление версиями включает присвоение уникальных номеров версий или имен определенному набору программного обеспечения, которое разработчики создают и выпускают. Мы используем название версии 1.0 для обозначения начального выпуска любого программного обеспечения. Любые отраслевые или корпоративные стандарты не диктуют конкретного правила формата для версии, что позволяет им использовать свои собственные запланированные методы для ее присвоения.
Различные версии MySQL
Когда мы хотим установить сервер MySQL в нашей системе, во-первых, мы должны выбрать версию и формат распространения для применения. Вы можете найти два метода установки сервера MySQL. Основной из них является версия для разработчиков, которая включает в себя новейшие функции, но мы не рекомендуем использовать ее в производственных средах. Второй — общедоступный выпуск (GA), который определяет стабильный или производственный выпуск и в основном применим для производства. Таким образом, пользователь должен согласиться выбрать самую последнюю версию GA.
Для работы с MySQL в настоящее время поддерживается версия v5.8. Эта версия включает в себя несколько заметных изменений, таких как добавление и удаление новых функций, исправления ошибок и решения проблем безопасности. Эта конкретная версия содержит историю выпусков от возраста MySQL 8.0 до 8.0.21. Это означает, что поддержка доступна с апреля 2018 года по апрель 2026 года.
Четыре атрибута alpha, beta, gamma и, наконец, production распознают версии MySQL.
1. Альфа
Эта версия MySQL обозначает трудный период процесса разработки, когда ожидаются новые расширенные функции и изменения совместимости. Здесь разработчики работают над устранением конкретных ошибок и пробуют уникальные возможности сервера MySQL.
2. Beta
Этот атрибут указывает, что версия завершена, но ее необходимо тщательно протестировать. Основные изменения непредсказуемы.
3. Гамма
Там написано, что предыдущая бета-версия стала более-менее стабильной, так что можно приступать к поиску и устранению ошибок.
4. Производство
Этот последний атрибут в версии MySQL отвечает за то, чтобы произвести впечатление на разработчиков MySQL, информируя их о том, что версия теперь готова, стабильна и достаточно зрела, чтобы ее можно было использовать для критически важных задач.
Разработчики MySQL могут быть довольны небольшими расширениями, но также могут возникнуть проблемы совместимости с несколькими производственными версиями. Согласно документации MySQL, новая версия всегда должна иметь альфа-статус. Опять же, статус повышается до статуса бета, гамма и, наконец, производства с более высокими номерами версий. Пользователи и разработчики MySQL должны использовать его, который имеет статус производства.
В 2008 году Sun Microsystems разработала MySQL AB. MySQL 5.0, первый внутренний выпуск, был выпущен 23 мая 19 г.95, но, судя по документации, в версии 5.0 были некоторые недостатки, которые проявлялись в таблицах. Опять же, с выпуском MySQL версии 5.1 стало очевидно, что в этой версии отсутствует адекватная поддержка хранилища данных и возникают такие проблемы, как неправильные результаты, сбои и нестабильность при обработке одного запроса на разных ядрах ЦП. В результате 27 января 2010 г. Oracle приобрела Sun Microsystems.
Последующие запуски внесли дополнительные улучшения и новые функции.
Давайте посмотрим историю выпуска предыдущих версий MySQL, перечисленных ниже:
1. MySQL 5.1
Разработчики выпустили MySQL 27 ноября 2008 г. в качестве рабочей версии, и они прекратили ее поддержку в декабре 2013 г. Она включала выпуски версий MySQL server 5.0 для MySQL server 5.1.73, содержащие планировщик событий. , подключаемый API, секционирование, таблицы журналов сервера и репликация на основе строк.
2. MySQL 5.5
Дата его выпуска — 3 декабря 2010 г., а окончание поддержки — декабрь 2018 г. Он включает выпуски версий MySQL server 5.5 — MySQL server 5.5.62 с механизмом хранения по умолчанию InnoDB, поддерживающим ограничения ссылочной целостности, транзакции и другие улучшенные функции.
3. MySQL 5.6
Разработчики выпустили эту версию 5 февраля 2013 г., а ее поддержка завершилась в феврале 2021 года. Она включала выпуски версий MySQL server 5.6–5.5.45 с улучшенной производительностью оптимизатора запросов, новые API-интерфейсы Memcached в стиле NoSQL, расширенный вывод транзакций в InnoDB, тип столбца TIMSTAMP, и может выполнять огромные таблицы и т. д.
4. MySQL 5.7
Выпуск MySQL состоялся 21 октября 2015 г., а его поддержка закончится в октябре 2023 г. Он включает в себя версии от MySQL server 5.7 до MySQL server 5.6.27, состоящие из обеспечения собственного типа данных JSON, четко определенного в RFC 7159..
5. MySQL 8.0
Разработчики выпустили эту последнюю версию 19 апреля 2018 г., и ее поддержка будет продолжаться до апреля 2026 г. Она включает в себя версии от MySQL Server 8.0 до MySQL Server 8.0.21. Он состоит из атомарных и отказоустойчивых предложений DDL, хранилища документов NoSQL, расширенного синтаксиса JSON, а также новых функций, таких как расширенная сортировка, табличные функции JSON, словарь данных, управление учетными записями и безопасностью, управление шифрованием ресурсов и таблиц, улучшения InnoDB, поддержка набора символов, оконная функция, улучшение поддержки оптимизатора типов данных и частичные обновления.
Примечание: После приобретения Sun Microsystems сервер MySQL версии 6 перестал функционировать, и теперь он использует продукты MySQL Cluster версий 7 и 8.