MySQL ( / ˌ м aɪ ˌ ɛ с ˌ к Ju ɛ л / ) [5] является открытым исходным кодом реляционная система управления базами данных (СУБД). [5] [6] Его название представляет собой комбинацию «My», имени дочери соучредителя Майкла Видениуса , [7] и « SQL », аббревиатуры языка структурированных запросов . Реляционная база данныхорганизует данные в одну или несколько таблиц данных, в которых типы данных могут быть связаны друг с другом; эти отношения помогают структурировать данные. SQL - это язык, который программисты используют для создания, изменения и извлечения данных из реляционной базы данных, а также для управления доступом пользователей к базе данных. Помимо реляционных баз данных и SQL, СУБД, такая как MySQL, работает с операционной системой для реализации реляционной базы данных в системе хранения компьютера, управляет пользователями, обеспечивает доступ к сети и облегчает тестирование целостности базы данных и создание резервных копий.
Автор (ы) оригинала | MySQL AB |
---|---|
Разработчики) | Корпорация Oracle |
Первый выпуск | 23 мая 1995 г . |
Стабильный выпуск | 8.0.25 [1] / 11 мая 2021 г . |
Репозиторий | |
Написано в | C , C ++ [2] |
Операционная система | Linux , Solaris , macOS , Windows , FreeBSD [3] |
Доступно в | английский |
Тип | СУБД |
Лицензия | GPLv2 или проприетарный [4] |
Веб-сайт | www |
MySQL - это бесплатное программное обеспечение с открытым исходным кодом в соответствии с условиями Стандартной общественной лицензии GNU , а также доступно по ряду проприетарных лицензий. MySQL принадлежала и спонсировалась шведской компанией MySQL AB , которую купила Sun Microsystems (ныне Oracle Corporation ). [8] В 2010 году, когда Oracle приобрела Sun, Видениус развил проект MySQL с открытым исходным кодом, чтобы создать MariaDB . [9]
MySQL имеет автономные клиенты, которые позволяют пользователям напрямую взаимодействовать с базой данных MySQL с помощью SQL, но чаще MySQL используется с другими программами для реализации приложений, которым необходимы возможности реляционной базы данных. MySQL - это компонент программного стека веб-приложений LAMP (и других ), который является аббревиатурой от Linux , Apache , MySQL, Perl / PHP / Python . MySQL используется многими веб-приложениями, управляемыми базами данных, включая Drupal , Joomla , phpBB и WordPress . MySQL также используется многими популярными веб-сайтами , включая Facebook , [10] [11] Flickr , [12] MediaWiki , [13] Twitter , [14] и YouTube. [15]
Обзор
MySQL написан на C и C ++ . Его синтаксический анализатор SQL написан на yacc , но использует самодельный лексический анализатор . [16] MySQL работает на многих системных платформах , включая AIX , BSDi , FreeBSD , HP-UX , ArcaOS , eComStation , IBM i , IRIX , Linux , macOS , Microsoft Windows , NetBSD , Novell NetWare , OpenBSD , OpenSolaris , OS / 2 Warp. , QNX , Oracle Solaris , Symbian , SunOS , SCO OpenServer , SCO UnixWare , Sanos и Tru64 . Также существует порт MySQL для OpenVMS . [17]
Само программное обеспечение сервера MySQL и клиентские библиотеки используют двойное лицензирование . Они предлагаются по GPL версии 2 или по частной лицензии. [18]
Поддержка может быть получена из официального руководства. [19] Бесплатная поддержка также доступна на различных IRC каналах и форумах. Oracle предлагает платную поддержку через свои продукты MySQL Enterprise. Они различаются объемом услуг и ценой. Кроме того, существует ряд сторонних организаций, предоставляющих поддержку и услуги.
MySQL получил положительные отзывы, и обозреватели отметили, что он «работает очень хорошо в среднем» и что «интерфейсы разработчика есть, а документация (не говоря уже об обратной связи в реальном мире через веб-сайты и т.п.) очень, очень хороший". [20] Он также был протестирован как «быстрый, стабильный и настоящий многопользовательский, многопоточный сервер баз данных SQL». [21]
История
MySQL был создан шведской компанией MySQL AB , основанной шведами Дэвидом Аксмарком , Алланом Ларссоном и финским шведом Майклом «Монти» Видениусом . Первоначальная разработка MySQL Widenius и Axmark началась в 1994 году. [22] Первая версия MySQL появилась 23 мая 1995 года. Первоначально она была создана для личного использования из mSQL на основе низкоуровневого языка ISAM , который создатели сочли слишком медленным. и негибкий. Они создали новый интерфейс SQL , сохранив тот же API, что и mSQL. Поддерживая согласованность API с системой mSQL, многие разработчики смогли использовать MySQL вместо предшествующего mSQL (с собственной лицензией). [23]
Вехи
Дополнительные вехи в разработке MySQL включали:
- Первый внутренний релиз 23 мая 1995 г.
- Версия 3.19: конец 1996 г., с сайта www.tcx.se
- Версия 3.20: январь 1997 г.
- Версия для Windows была выпущена 8 января 1998 г. для Windows 95 и NT.
- Версия 3.21: производственный выпуск 1998, с сайта www.mysql.com
- Версия 3.22: альфа, бета с 1998 г.
- Версия 3.23: бета-версия с июня 2000 г., производственный выпуск от 22 января 2001 г. [24]
- Версия 4.0: бета-версия с августа 2002 г., производственная версия - март 2003 г. ( союзы ).
- Версия 4.1: бета-версия с июня 2004 г., производственный выпуск в октябре 2004 г. ( R-деревья и B-деревья , подзапросы, подготовленные операторы).
- Версия 5.0: бета-версия с марта 2005 г., производственный выпуск в октябре 2005 г. (курсоры, хранимые процедуры, триггеры, представления, транзакции XA ).
- Разработчик Federated Storage Engine заявляет, что «Federated Storage Engine - это проверенная концепция механизма хранения» [25], но основные дистрибутивы MySQL версии 5.0 включали его и включали по умолчанию. Документация по некоторым недостаткам представлена в «MySQL Federated Tables: The Missing Manual». [26]
- Sun Microsystems приобрела MySQL AB в 2008 году [27].
- Версия 5.1: производственный выпуск от 27 ноября 2008 г. (планировщик событий, секционирование , API плагинов, построчная репликация, таблицы журналов сервера )
- Версия 5.1 содержала 20 известных сбоев и ошибок с неверным результатом в дополнение к 35, присутствующим в версии 5.0 (почти все исправлены в версии 5.1.51) . [28]
- MySQL 5.1 и 6.0-alpha показали низкую производительность при использовании для хранилищ данных - отчасти из-за невозможности использовать несколько ядер ЦП для обработки одного запроса. [29]
- Oracle приобрела Sun Microsystems 27 января 2010 года. [30] [31] [32]
- В тот день, когда Oracle объявила о покупке Sun, Майкл «Монти» Видениус разветвил MySQL, запустил MariaDB и взял с собой ряд разработчиков MySQL. [33]
- MySQL Server 5.5 был общедоступным (по состоянию на декабрь 2010 г.[Обновить]). Усовершенствования и функции включают:
- Механизм хранения по умолчанию - InnoDB , который поддерживает транзакции и ограничения ссылочной целостности.
- Улучшенная подсистема ввода-вывода InnoDB [34]
- Улучшенная поддержка SMP [35]
- Полусинхронная репликация.
- Оператор SIGNAL и RESIGNAL в соответствии со стандартом SQL.
- Поддержка дополнительных наборов символов Unicode utf16, utf32 и utf8mb4. [а]
- Новые возможности для пользовательского разбиения.
- MySQL Server 6.0.11-alpha был объявлен [36] 22 мая 2009 г. как последний выпуск линейки 6.0. Будущая разработка MySQL Server использует новую модель выпуска. Функции, разработанные для 6.0, будут включены в будущие выпуски.
- Общая доступность MySQL 5.6 была объявлена в феврале 2013 года. [37] Новые функции включали повышение производительности оптимизатора запросов , более высокую пропускную способность транзакций в InnoDB, новые API-интерфейсы memcached в стиле NoSQL , улучшения в секционировании для запросов и управления очень большими таблицами, TIMESTAMP тип столбца, который правильно хранит миллисекунды, улучшения репликации и лучший мониторинг производительности за счет расширения данных, доступных через PERFORMANCE_SCHEMA . [38] Механизм хранения InnoDB также включал поддержку полнотекстового поиска и улучшенную производительность групповой фиксации.
- Общедоступность MySQL 5.7 была объявлена в октябре 2015 года. [39] Начиная с MySQL 5.7.8, август 2015 года [40] MySQL поддерживает собственный тип данных JSON, определенный в RFC 7159. [41]
- MySQL Server 8.0 был анонсирован в апреле 2018 года [42], включая хранилище документов NoSQL, атомарные и аварийно-безопасные предложения DDL и расширенный синтаксис JSON , новые функции, такие как табличные функции JSON, улучшенную сортировку и частичные обновления. Предыдущий MySQL Server 8.0.0-dmr (Milestone Release) был анонсирован 12 сентября 2016 г. [43]
- MySQL был объявлен СУБД года 2019 в рейтинге DB-Engines [44]
История выпуска
Релиз | Общедоступность | Последняя дополнительная версия | Последний релиз | Окончание поддержки [45] |
---|---|---|---|---|
5.1 | 14 ноября 2008 г . | [46]5.1.73 [47] | 2013-12-03 | Декабрь 2013 |
5.5 | 3 декабря 2010 г . | [48]5.5.62 [49] | 2018-10-22 | Декабрь 2018 |
5,6 | 5 февраля 2013 г . | [50]5.6.51 [51] | 2021-01-20 | Февраль 2021 г. |
5,7 | 21 октября 2015 г . | [52]5.7.33 [53] | 2021-01-18 | Октябрь 2023 г. |
8.0 | 19 апреля 2018 г . | [54]8.0.23 [55] | 2021-01-18 | Апрель 2026 г. |
Работа над версией 6 прекратилась после приобретения Sun Microsystems. В продукте MySQL Cluster используется версия 7. Было принято решение перейти к версии 8 в качестве следующего основного номера версии. [56]
Правовые споры и приобретения
15 июня 2001 года NuSphere подала в суд на MySQL AB, TcX DataKonsult AB и ее первоначальных авторов Майкла («Монти») Видениуса и Дэвида Аксмарка в окружной суд США в Бостоне за «нарушение контракта, вредоносное вмешательство в контракты и отношения третьих сторон и недобросовестную конкуренцию. ". [57] [58]
В 2002 году MySQL AB подала в суд на Progress NuSphere за нарушение авторских прав и товарных знаков в окружной суд США . NuSphere предположительно нарушила авторские права MySQL AB, связав код MySQL под лицензией GPL с таблицей NuSphere Gemini без соблюдения условий лицензии. [59] После предварительного слушания перед судьей Патти Сарис 27 февраля 2002 года стороны вступили в переговоры об урегулировании и в конечном итоге пришли к соглашению. [60] После слушания FSF прокомментировала, что «судья Сарис ясно дала понять, что она считает GNU GPL юридически обязательной и обязательной лицензией». [61]
В октябре 2005 года корпорация Oracle приобрела Innobase OY, финскую компанию, разработавшую сторонний механизм хранения InnoDB, который позволяет MySQL предоставлять такие функции, как транзакции и внешние ключи . После приобретения в пресс-релизе Oracle упоминалось, что контракты, которые делают программное обеспечение компании доступным для MySQL AB, должны быть обновлены (и, предположительно, пересмотрены) где-то в 2006 году. [62] Во время конференции пользователей MySQL в апреле 2006 года MySQL AB выпустила пресс-релиз, подтверждающий, что MySQL AB и Innobase OY договорились о «многолетнем» продлении своего лицензионного соглашения. [63]
В феврале 2006 года корпорация Oracle приобрела Sleepycat Software , [64] производителя Berkeley DB , механизма базы данных, обеспечивающего основу для другого механизма хранения MySQL. Это имело небольшой эффект, поскольку Berkeley DB не использовался широко и был исключен (из-за отсутствия использования) в MySQL 5.1.12, версии MySQL 5.1 до GA, выпущенной в октябре 2006 г. [65]
В январе 2008 года Sun Microsystems купила MySQL AB за 1 миллиард долларов. [66]
В апреле 2009 года корпорация Oracle заключила соглашение о покупке Sun Microsystems [67], тогдашних владельцев авторских прав и товарных знаков MySQL. Совет директоров Sun единогласно одобрил сделку. Он был также одобрен акционерами Sun и правительством США 20 августа 2009 г. [68] 14 декабря 2009 г. Oracle пообещала продолжить совершенствование MySQL [69], как это делалось в предыдущие четыре года.
Один из основателей MySQL AB, Монти Видениус, начал движение против приобретения Oracle компании MySQL AB, чтобы «сохранить MySQL» [70] у Oracle . В петиции более 50 000 разработчиков и пользователей содержится призыв к Европейской комиссии заблокировать одобрение приобретения. В то же время некоторые лидеры общественного мнения о свободном программном обеспечении (в том числе Памела Джонс из Groklaw , Ян Вильдебоер и Карло Пиана , которые также выступали в качестве со-юрисконсульта в процедуре регулирования слияния) выступали за безоговорочное одобрение слияния. [71] [72] [73] В рамках переговоров с Европейской комиссией Oracle пообещала, что сервер MySQL будет продолжать использовать стратегию двойного лицензирования, как минимум, до 2015 года, давно используемую MySQL AB, с доступными проприетарными версиями и версиями GPL. Антимонопольное законодательство ЕС «заставляло его отказаться от MySQL в качестве условия одобрения слияния». Но, как сообщает WikiLeaks , министерство юстиции США по запросу Oracle оказало давление на ЕС, чтобы тот безоговорочно одобрил слияние. [74] Европейская комиссия в конечном итоге безоговорочно одобрила приобретение Oracle компании MySQL AB 21 января 2010 года. [75]
В январе 2010 года, до того, как Oracle приобрела MySQL AB, Монти Видениус запустил форк MariaDB , основанный только на GPL . MariaDB основан на той же кодовой базе, что и MySQL server 5.5, и стремится поддерживать совместимость с версиями, предоставляемыми Oracle. [76]
Функции
MySQL предлагается в двух различных редакциях: MySQL Community Server с открытым исходным кодом [77] и проприетарный Enterprise Server . [78] MySQL Enterprise Server отличается серией проприетарных расширений, которые устанавливаются как серверные плагины, но в остальном используют систему нумерации версий и построены на той же кодовой базе.
Основные функции, доступные в MySQL 5.6:
- Широкое подмножество ANSI SQL 99 , а также расширения
- Кросс-платформенная поддержка
- Хранимые процедуры , использующие процедурный язык, близкий к SQL / PSM [79]
- Триггеры
- Курсоры
- Обновляемые представления
- Онлайн- язык определения данных (DDL) при использовании InnoDB Storage Engine.
- Информационная схема
- Схема производительности, которая собирает и объединяет статистику о выполнении сервера и производительности запросов для целей мониторинга. [80]
- Набор параметров режима SQL для управления поведением во время выполнения , включая строгий режим для лучшего соответствия стандартам SQL.
- Поддержка распределенной обработки транзакций (DTP) X / Open XA ; двухфазная фиксация как часть этого, с использованием механизма хранения InnoDB по умолчанию
- Транзакции с точками сохранения при использовании механизма хранения InnoDB по умолчанию. NDB Cluster Storage Engine также поддерживает транзакции.
- Соответствие ACID при использовании InnoDB и NDB Cluster Storage Engine [81]
- Поддержка SSL
- Запрос кэширования
- Суб ВЫБИРАЕТ (то есть вложенная селекция)
- Встроенная поддержка репликации
- Асинхронная репликация: ведущий-ведомый от одного ведущего ко многим ведомым [82] [83] или от многих мастеров к одному ведомому [84]
- Полусинхронная репликация: репликация от главного устройства к подчиненному, когда мастер ожидает репликации [85] [86]
- Синхронная репликация: в MySQL Cluster предоставляется репликация с несколькими мастерами . [87]
- Виртуальный синхронный : Самоуправляемые группы серверов MySQL с поддержкой нескольких мастеров могут быть выполнены с помощью: Galera Cluster [88] или встроенного плагина Group Replication [89]
- Полнотекстовое индексирование и поиск [b]
- Встроенная библиотека базы данных
- Поддержка Unicode [a]
- Секционированные таблицы с обрезкой секций в оптимизаторе
- Кластеризация без общего доступа через MySQL Cluster
- Несколько механизмов хранения, позволяющие выбрать наиболее эффективный для каждой таблицы в приложении. [c]
- Собственные механизмы хранения InnoDB , MyISAM , Merge, Memory (heap), Federated , Archive, CSV , Blackhole, NDB Cluster.
- Группировка фиксации, объединение нескольких транзакций из нескольких соединений вместе для увеличения количества фиксаций в секунду.
Разработчики выпускают небольшие обновления MySQL Server примерно каждые два месяца. Исходные коды можно получить с веб-сайта MySQL или из репозитория MySQL на GitHub , оба по лицензии GPL.
Ограничения
При использовании некоторых механизмов хранения, отличных от InnoDB по умолчанию, MySQL не соответствует полному стандарту SQL для некоторых реализованных функций, включая ссылки на внешние ключи. [90] Проверочные ограничения анализируются, но игнорируются всеми механизмами хранения до версии MySQL 8.0.15. [91] [92]
Вплоть до MySQL 5.7 триггеры ограничены одним триггером на действие / время, что означает, что можно определить не более одного триггера для выполнения после ВСТАВИТЬ операцию и одну перед ВСТАВИТЬ на той же таблице. [93] Для представлений нельзя определить триггеры. [93]
Встроенные функции базы данных MySQL, такие как UNIX_TIMESTAMP () вернет 0 после 03:14:07 UTC по 19 января 2038 . [94] Недавно [ когда? ] была попытка решить проблему, которая была назначена внутренней очереди. [95]
Развертывание
MySQL можно собрать и установить вручную из исходного кода, но чаще он устанавливается из двоичного пакета, если не требуются специальные настройки. В большинстве дистрибутивов Linux , то система управления пакетами можно загрузить и установить MySQL с минимальными усилиями, хотя дальнейшая конфигурация часто требуется для настройки параметров безопасности и оптимизации.
Хотя MySQL начинался как недорогая альтернатива более мощным проприетарным базам данных, он постепенно эволюционировал, чтобы поддерживать и потребности более высокого уровня. Он по-прежнему чаще всего используется в малых и средних развертываниях с одним сервером либо в качестве компонента в веб-приложении на основе LAMP, либо в качестве автономного сервера базы данных. Привлекательность MySQL во многом обусловлена его относительной простотой и удобством использования, что обеспечивается экосистемой инструментов с открытым исходным кодом, таких как phpMyAdmin . В среднем диапазоне MySQL можно масштабировать, развернув его на более мощном оборудовании, таком как многопроцессорный сервер с гигабайтами памяти.
Однако существуют ограничения на то, насколько производительность может масштабироваться на одном сервере («масштабирование»), поэтому в более крупных масштабах требуется развертывание MySQL на нескольких серверах («горизонтальное масштабирование») для обеспечения повышенной производительности и надежности. Типичная конфигурация высокого уровня может включать мощную главную базу данных, которая обрабатывает операции записи данных и реплицируется на несколько ведомых устройств, которые обрабатывают все операции чтения. [96] Главный сервер постоянно отправляет события бинарного журнала подключенным подчиненным, поэтому в случае отказа подчиненное устройство может быть назначено новым главным, что минимизирует время простоя. Дальнейшее повышение производительности может быть достигнуто путем кэширования результатов запросов к базе данных в памяти с помощью memcached или разбиения базы данных на более мелкие фрагменты, называемые шардами, которые можно распределить по ряду распределенных кластеров серверов. [97]
Программное обеспечение высокой доступности
Oracle MySQL предлагает решение высокой доступности с набором инструментов, включая маршрутизатор MySQL и оболочку MySQL. Они основаны на групповой репликации, инструментах с открытым исходным кодом. [98]
MariaDB предлагает аналогичное предложение с точки зрения продуктов. [99]
Развертывание в облаке
MySQL также можно запускать на платформах облачных вычислений, таких как Microsoft Azure , Amazon EC2 , Oracle Cloud Infrastructure . Вот некоторые распространенные модели развертывания MySQL в облаке:
- Образ виртуальной машины
- В этой реализации пользователи облака могут загрузить собственный образ машины с установленным MySQL или использовать готовый образ машины с оптимизированной установкой MySQL на нем, например, предоставленный Amazon EC2. [100]
- MySQL как услуга
- Некоторые облачные платформы предлагают MySQL «как услугу». В этой конфигурации владельцам приложений не нужно самостоятельно устанавливать и поддерживать базу данных MySQL. Вместо этого поставщик службы базы данных берет на себя ответственность за установку и обслуживание базы данных, а владельцы приложений платят в соответствии с их использованием. [101] Известными облачными сервисами MySQL являются Amazon Relational Database Service ; Oracle MySQL Cloud Service , База данных Azure для MySQL , Rackspace ; Конвергентное облако HP ; Heroku и Jelastic . В этой модели провайдер службы базы данных берет на себя ответственность за обслуживание хоста и базы данных.
Пользовательские интерфейсы
Графические пользовательские интерфейсы
Графический пользовательский интерфейс (GUI) представляет собой тип интерфейса , который позволяет пользователям взаимодействовать с электронными устройствами или программами через графические иконки и визуальные индикаторы , такие как вторичное обозначение, в отличии от текстовых интерфейсов, набранной команды на этикетки или текст навигации.
Доступны сторонние проприетарные и бесплатные графические административные приложения (или «внешние интерфейсы»), которые интегрируются с MySQL и позволяют пользователям работать со структурой базы данных и данными визуально.
MySQL Workbench
MySQL Workbench - это интегрированная среда для MySQL. Он был разработан MySQL AB и позволяет пользователям графически управлять базами данных MySQL и визуально проектировать структуры баз данных.
MySQL Workbench доступен в двух редакциях: обычная бесплатная версия Community Edition с открытым исходным кодом, которую можно загрузить с веб-сайта MySQL, и проприетарная версия Standard Edition, которая расширяет и улучшает набор функций Community Edition. [ необходима цитата ]
Другие инструменты графического интерфейса
- Администратор
- Инструментальные средства базы данных
- DBeaver
- DBEdit
- HeidiSQL
- База LibreOffice
- Navicat
- База OpenOffice.org
- phpMyAdmin
- SQLBuddy
- SQLyog
- Жаба для MySQL
- Webmin
Интерфейсы командной строки
Интерфейс командной строки является средством взаимодействия с компьютерной программой , где командуют вопросы пользователей к программе, набрав в последовательных строках текста (командные строки). MySQL поставляется со многими инструментами командной строки , основным интерфейсом которых является клиент mysql . [102] [103]
Утилиты MySQL - это набор утилит, предназначенных для выполнения общих задач обслуживания и администрирования. Первоначально входившие в состав MySQL Workbench, эти утилиты можно загрузить отдельно от Oracle.
Percona Toolkit - это кроссплатформенный набор инструментов для MySQL, разработанный на Perl . [104] Percona Toolkit можно использовать для проверки правильности работы репликации, исправления поврежденных данных, автоматизации повторяющихся задач и ускорения работы серверов. Percona Toolkit входит в состав нескольких дистрибутивов Linux, таких как CentOS и Debian , а также доступны пакеты для Fedora и Ubuntu . Percona Toolkit изначально разрабатывался как Maatkit, но по состоянию на конец 2011 года Maatkit больше не разрабатывается.
Оболочка MySQL - это инструмент для интерактивного использования и администрирования базы данных MySQL. Он поддерживает режимы JavaScript, Python или SQL и может использоваться для целей администрирования и доступа. [105]
Интерфейсы прикладного программирования
Многие языки программирования с языковыми API включают библиотеки для доступа к базам данных MySQL. К ним относятся MySQL Connector / Net для языков .NET / CLI , [106] и драйвер JDBC для Java. [107]
Кроме того, интерфейс ODBC под названием MySQL Connector / ODBC позволяет дополнительным языкам программирования, которые поддерживают интерфейс ODBC, взаимодействовать с базой данных MySQL, например ASP или ColdFusion . HTSQL - URL -На метод запроса также поставляется с адаптером MySQL, что позволяет прямое взаимодействие между MySQL базы данных и любой веб - клиента через структурированные URL. Другие драйверы существуют для таких языков, как Python [108] или Node.js [109] .
Вилки проекта
Существует множество форков MySQL , включая следующие.
Текущий
- MariaDB
- MariaDB - это разработанная сообществом ветвь системы управления реляционными базами данных MySQL, предназначенная для бесплатного использования под лицензией GNU GPL. Разветвление было инициировано первоначальными разработчиками MySQL, которые разделили его из-за опасений по поводу его приобретения Oracle. [33]
- Сервер Percona для MySQL
- Percona Server для MySQL , созданный Percona , нацелен на сохранение тесной совместимости с официальными выпусками MySQL. [110] В Percona Server для MySQL также включен XtraDB , ответвление Percona для InnoDB Storage Engine . [111]
Заброшенный
- Морось
- Drizzle была бесплатной системой управления реляционными базами данных (СУБД) с открытым исходным кодом, которая была разветвлена из ныне несуществующей ветки разработки 6.0 СУБД MySQL. [112] Как и MySQL, Drizzle имеет архитектуру клиент / сервер и использует SQL в качестве основного командного языка . Drizzle распространялся под версией 2 и 3 Стандартной общественной лицензии GNU (GPL) с частями, включая драйверы протокола и репликацию сообщений по лицензии BSD .
- WebScaleSQL
- WebScaleSQL - это программная ветвь MySQL 5.6, о которой 27 марта 2014 года объявили Facebook, Google, LinkedIn и Twitter как совместные усилия по обеспечению централизованной структуры разработки для расширения MySQL с помощью новых функций, характерных для его крупномасштабных развертываний, таких как создание больших реплицированных баз данных, работающих на фермах серверов. Таким образом, WebScaleSQL открыла путь к дедупликации усилий, которые каждая компания вкладывала в поддержку своей собственной ветви MySQL, и к объединению большего числа разработчиков. Объединив усилия этих компаний и включив в MySQL различные изменения и новые функции, WebScaleSQL нацелен на поддержку развертывания MySQL в крупномасштабных средах. [113] [114] Исходный код проекта лицензирован в соответствии с версией 2 Стандартной общественной лицензии GNU и размещен на GitHub . [115] [116]
- OurDelta
- Дистрибутив OurDelta, созданный австралийской компанией Open Query (позже приобретенной Catalyst IT Australia), имел две версии: 5.0, которая была основана на MySQL, и 5.1, которая была основана на MariaDB. В него вошли патчи, разработанные Open Query и другими известными членами сообщества MySQL, включая Джереми Коула и Google. Как только патчи были включены в основную ветку MariaDB, цели OurDelta были достигнуты, и OurDelta передала свой набор инструментов для сборки и упаковки Monty Program (теперь MariaDB Corp). [117]
Смотрите также
- Сравнение инструментов базы данных
- Сравнение движков баз данных MySQL
- Сравнение систем управления реляционными базами данных
- Соответствие SQL
Заметки
- ^ a b До MySQL 5.5.3 строки в кодировке UTF-8 и UCS-2 ограничивались BMP ; MySQL 5.5.3 и более поздние версии используют utf8mb4 для полной поддержки Unicode.
- ^ Изначально это была функция MyISAM; поддерживается InnoDB с момента выпуска MySQL 5.6.
- ^ В MySQL 5.0 механизмы хранения должны быть скомпилированы; Начиная с MySQL 5.1, механизмы хранения могут динамически загружаться во время выполнения .
Рекомендации
- ^ «Изменения в MySQL 8.0.25 (2021-05-11, общедоступный)» . 11 мая 2021 г.
- ^ «MySQL: сводка проекта» . Охлох . Программное обеспечение Black Duck . Проверено 17 сентября 2012 года .
- ^ «Поддерживаемые платформы: база данных MySQL» . Oracle . Проверено 24 марта 2014 года .
- ^ «Загрузки» . MySQL . Проверено 3 августа 2014 .
- ^ а б "Что такое MySQL?" . Справочное руководство по MySQL 8.0 . Корпорация Oracle . Проверено 3 апреля 2020 .
Официальный способ произносить «MySQL» - «My Ess Que Ell» (а не «мое продолжение»), но мы не возражаем, если вы произносите его как «мое продолжение» или каким-либо другим локализованным способом.
- ^ «Рейтинг реляционных СУБД DB-Engines» . DB-Двигатели . solidIT consulting & software development GmbH . Проверено 3 апреля 2020 .
- ^ «История MySQL» . Справочное руководство по MySQL 8.0 . Корпорация Oracle . Проверено 3 апреля 2020 .
MySQL назван в честь дочери соучредителя Монти Видениуса, My.
- ^ «Sun Microsystems объявляет о завершении приобретения MySQL; открывает путь к безопасной платформе с открытым исходным кодом для поддержки сетевой экономики» (пресс-релиз). Sun Microsystems. 26 февраля 2008. Архивировано из оригинала 28 февраля 2008 года . Проверено 17 сентября 2012 года .
- ^ Пирс, Рохан (28 марта 2013 г.). «Ходьба мертвой базы данных: создатель MySQL о том, почему будущее принадлежит MariaDB» . Компьютерный мир . Проверено 3 апреля 2020 .
В день объявления о покупке Sun Видениус ответил […] - он разветвил MySQL, запустив MariaDB […]
- ^ Собел, Джейсон (21 декабря 2007 г.). «Идти в ногу» . Блог Facebook . Facebook. Архивировано из оригинала 18 июня 2009 года . Проверено 18 июня 2009 года .
[…] Данные Facebook хранятся на серверах баз данных MySQL […]
- ^ Мацунобу, Ёсинори (31 августа 2016 г.). «MyRocks: база данных MySQL, оптимизированная по пространству и записи» . Facebook Engineering . Архивировано 7 марта 2020 года . Дата обращения 7 марта 2020 .
В Facebook мы используем MySQL для управления большим количеством петабайт данных вместе с механизмом хранения InnoDB […]
- ^ Эллиот-МакКри, Келлан (8 февраля 2010 г.). «Использование, злоупотребление и масштабирование MySQL на Flickr» . code.flickr.com . Проверено 3 апреля 2020 .
[…] MySQL - это наш молоток, и мы используем его почти для всего. Это наше хранилище объединенных данных, наше хранилище ключей и значений и наше хранилище документов.
- ^ «Руководство: MySQL» . www.mediawiki.org . MediaWiki, бесплатный движок вики . Проверено 3 апреля 2020 .
Механизмы баз данных MySQL и MariaDB являются наиболее часто используемыми базами данных для MediaWiki.
- ^ Хашеми, Маздак (19 января 2017 г.). «Инфраструктура Twitter: масштаб» . blog.twitter.com . Проверено 3 апреля 2020 .
SQL: это включает MySQL, PostgreSQL и Vertica. MySQL / PosgreSQL используются там, где нам нужна строгая согласованность […]
- ^ «Заказчик MySQL: YouTube» . MySQL.com . Oracle . Проверено 17 сентября 2012 года .
- ^ "Руководство по внутреннему устройству MySQL" . Dev.mysql.com. 4 марта 2009 . Проверено 8 июня 2009 года .
- ^ «MySQL для OpenVMS» . vmsmysql.org. 30 марта 2011 . Проверено 16 января 2014 года .
- ^ «Коммерческая лицензия для OEM-производителей, независимых поставщиков программного обеспечения и VAR-поставщиков» . www.mysql.com . Июль 2010 . Проверено 3 апреля 2020 .
Oracle предоставляет свой сервер базы данных MySQL […] по модели двойной лицензии […] Oracle делает свой сервер базы данных MySQL […] доступным по лицензии GPLv2 […]
- ^ Руководство по поддержке MySQL, разработчики MySQL
- ^ Обзор MySQL Server 5.0 , Techworld.com, ноябрь 2005 г.
- ^ Обзор сервера MySQL , LinuxMint.com
- ^ «Пять вопросов к Майклу Видениусу - основателю и оригинальному разработчику MySQL» . opensourcereleasefeed.com. Архивировано из оригинального 13 марта 2009 года . Проверено 13 октября 2012 года .
- ^ «История и архитектура MySQL» . Дата обращения 5 декабря 2020 .
- ^ «MySQL 3.23 объявлен стабильным» . Архивировано из оригинального 15 августа 2001 года.
- ^ "Capttofu: выпущен подключаемый механизм хранения FederatedX!" . Capttofu.livejournal.com. Архивировано из оригинального 13 августа 2011 года . Проверено 3 апреля 2009 года .
- ^ «MySQL Federated Tables: Отсутствующее руководство» . O'Reilly Media. 8 октября 2006 . Проверено 1 февраля 2012 года .
- ^ «Sun покупает MySQL за 1 миллиард долларов; открытый код - законная бизнес-модель» . Проверено 13 октября 2012 года .
- ^ «Архивы - Ой, мы сделали это снова (MySQL 5.1 выпущен как GA с ошибками)» . Планета MySQL. 29 ноября 2008. Архивировано из оригинала 30 декабря 2008 года . Проверено 5 февраля 2013 года .
- ^ Петр Зайцев (10 апреля 2008 г.). «TPC-H Run on MySQL 5.1 и 6.0» . Блог производительности MySQL . Проверено 8 июня 2009 года .
- ^ «Oracle завершает приобретение Sun» (пресс-релиз). Oracle. 27 января 2010 . Проверено 1 февраля 2012 года .
- ^ «Обзор и часто задаваемые вопросы» (PDF) .
- ^ «Амбициозные планы Oracle по интеграции технологий Sun» . InfoWorld . 27 января 2010 г.
- ^ а б «Ходьба мертвой базы данных: создатель MySQL о том, почему будущее принадлежит MariaDB» . Компьютерный мир . 28 марта 2013 . Дата обращения 2 октября 2020 .
- ^ «Изменения подсистемы ввода-вывода InnoDB» . dev.mysql.com. Архивировано из оригинального 10 февраля 2012 года . Проверено 1 февраля 2012 года .
- ^ «Улучшения масштабируемости» . dev.mysql.com. Архивировано из оригинального 10 февраля 2012 года . Проверено 1 февраля 2012 года .
- ^ «Списки MySQL: упаковщики: выпущена альфа-версия MySQL 6.0.11!» . Lists.mysql.com . Проверено 1 февраля 2012 года .
- ^ http://www.oracle.com/us/corporate/press/1904335
- ^ «Что нового в MySQL 5.6» . Зона разработчиков MySQL. Архивировано из оригинального 23 апреля 2011 года . Проверено 21 апреля 2011 года .
- ^ «Oracle объявляет об общедоступности MySQL 5.7» . Oracle . Проверено 1 ноября 2015 года .
- ^ «Примечания к выпуску MySQL :: MySQL 5.7 :: Изменения в MySQL 5.7.8 (03.08.2015, кандидат на выпуск)» . dev.mysql.com . Проверено 10 октября 2019 .
- ^ "Справочное руководство MySQL :: MySQL 5.7 :: 11.6 Тип данных JSON" . dev.mysql.com . RFC 7159 . Проверено 10 октября 2019 .
- ^ Фрэнк, Майк. «Объявление об общедоступности MySQL 8.0» . blogs.oracle.com . Проверено 10 октября 2019 .
- ^ «8.0.0-DMR (Веха выпуска)» . Проверено 12 сентября 2016 года .
- ^ «MySQL - СУБД года 2019» . DB-Двигатели . Проверено 7 января 2020 года .
- ^ «Политика поддержки Oracle Lifetime Support» (PDF) . Проверено 10 октября 2019 .
- ^ «A.1 MySQL 5.1 FAQ: Общие» . docs.oracle.com . Дата обращения 2 августа 2017 .
- ^ «2 изменения в MySQL 5.1.73 (2013-12-03)» . docs.oracle.com . Проверено 28 апреля 2020 .
- ^ «MySQL: примечания к выпуску MySQL 5.5» . dev.mysql.com . Проверено 15 января 2018 года .
- ^ «2 изменения в MySQL 5.5.62 (2018-10-22, общедоступно)» . docs.oracle.com . Проверено 28 апреля 2020 .
- ^ «MySQL: примечания к выпуску MySQL 5.6» . dev.mysql.com . Проверено 15 января 2018 года .
- ^ «Примечания к выпуску MySQL :: MySQL 5.6 :: Изменения в MySQL 5.6.51 (2021-01-20, общедоступный)» . dev.mysql.com . Проверено 4 марта 2021 года .
- ^ «MySQL: примечания к выпуску MySQL 5.7» . dev.mysql.com . Проверено 15 января 2018 года .
- ^ «Примечания к выпуску MySQL :: MySQL 5.7 :: Изменения в MySQL 5.7.33 (2021-01-18, общедоступный)» . dev.mysql.com . Проверено 4 марта 2021 года .
- ^ Хойдалсвик, Гейр (19 апреля 2018 г.). «Что нового в MySQL 8.0? (Общедоступно)» . Проверено 10 октября 2019 .
- ^ «Примечания к выпуску MySQL :: MySQL 8.0 :: Изменения в MySQL 8.0.23 (2021-01-18, общедоступный)» . dev.mysql.com . Проверено 22 февраля 2021 года .
- ^ "MySQL 8 скоро" . opensource.com . Проверено 27 апреля 2018 года .
- ^ Василий, Том (4 сентября 2001 г.). "Свидетельство очевидца:" Монти Видениус, международный беглец " " . MySQL Life (список рассылки). Архивировано из оригинала 4 октября 2013 года . Проверено 16 сентября 2012 года .
- ^ «Часто задаваемые вопросы о споре MySQL и NuSphere» . MySQL AB. 13 июля 2001 года Архивировано из оригинала 17 июля 2001 года . Проверено 16 сентября 2012 года .
- ^ "Аффидевит Эбена Моглена о прогрессе программного обеспечения против предварительного судебного разбирательства в MySQL AB" . Архивировано из оригинала 7 февраля 2005 года.
- ^ Progress Software Corporation против MySQL AB , 195 F. Supp. 2d 328 (D. Mass. 2002).
- ^ «Судья Сарис откладывает вопросы GNU GPL на пробу в MySQL против Progress Software» (пресс-релиз). Фонд свободного программного обеспечения. 1 марта 2002 . Проверено 16 сентября 2012 года .
- ^ «Oracle объявляет о приобретении Innobase, компании по разработке программного обеспечения с открытым исходным кодом» (пресс-релиз). Oracle. 7 октября 2005 года архивации с оригинала на 20 июля 2011 года . Проверено 16 сентября 2012 года .
- ^ «MySQL для продвижения новых механизмов БД с открытым исходным кодом от своих партнеров и сообщества разработчиков» (пресс-релиз). MySQL AB. 26 апреля 2006 года архивация с оригинала на 23 июня 2011 . Проверено 16 сентября 2012 года .
- ^ Бэбкок, Чарльз (14 февраля 2006 г.). "Oracle покупает Sleepycat, будет ли JBoss следующим?" . Информационная неделя . CPM Media . Проверено 16 сентября 2012 года .
- ^ «Изменения в MySQL 5.1.12» . Справочное руководство по MySQL 5.1 . MySQL AB. 24 октября 2006 Архивировано из оригинала 20 октября 2012 года . Проверено 16 сентября 2012 года .
- ^ «Sun Microsystems объявляет о соглашении приобрести MySQL, разработчика самой популярной в мире базы данных с открытым исходным кодом» (пресс-релиз). Sun Microsystems. 16 января 2008. Архивировано из оригинала 18 июля 2011 года . Проверено 16 сентября 2012 года .
- ^ «Oracle to Buy Sun» (пресс-релиз). Sun Microsystems. 20 апреля 2009 года архивации с оригинала на 22 апреля 2009 года . Проверено 16 сентября 2012 года .
- ^ Thomasch, Пол; Финкль, Джим (20 августа 2009 г.). «Oracle получает одобрение США на покупку Sun Microsystems» . Рейтер . Дата обращения 2 марта 2020 .
- ^ Уитни, Лэнс (14 декабря 2009 г.). «Oracle обязуется хорошо работать с MySQL» . CNET . Архивировано из оригинального 12 марта 2016 года . Проверено 16 сентября 2012 года .
- ^ Майкл, Видениус (12 декабря 2009 г.). «Помогите сохранить MySQL» . Говорит Монти . Google . Проверено 16 сентября 2012 года .
- ^ «Юридический центр о свободе программного обеспечения представляет в Европейскую комиссию заключение о слиянии Oracle и Sun» . www.softwarefreedom.org . Правовой центр свободы программного обеспечения. 4 декабря 2009 . Проверено 1 февраля 2018 .
- ^ Лай, Эрик (28 октября 2009 г.). «Многие разработчики ПО с открытым исходным кодом поддерживают поглощение MySQL Oracle» . www.infoworld.com . InfoWorld . Проверено 1 февраля 2018 .
- ^ Wildeboer, янв (5 января 2010 г.). «Почему я не подпишу петицию MySQL» . jan.wildeboer.net . Проверено 1 февраля 2018 .
- ^ Канаракус, Крис (30 августа 2011 г.). «Кабель Wikileaks предлагает новый взгляд на сделку между Oracle и Sun» . Мир ПК . Проверено 16 сентября 2012 года .
- ^ «Слияния: Комиссия одобряет предложение Oracle о приобретении Sun Microsystems» (пресс-релиз). Европейский Союз. 21 января 2010 . Проверено 16 сентября 2012 года .
- ^ «MariaDB против MySQL - Совместимость» . База знаний MariaDB . Проверено 3 апреля 2020 .
Версии MariaDB функционируют как «прямая замена» эквивалентной версии MySQL с некоторыми ограничениями.
- ^ "MySQL Community Edition" . www.mysql.com . Проверено 3 апреля 2020 .
MySQL Community Edition - это свободно загружаемая версия […]. Он доступен по лицензии GPL […]
- ^ «Что мне использовать: MySQL Enterprise или MySQL Community Server?» . MySQL AB. Архивировано из оригинала 9 апреля 2009 года . Проверено 8 апреля 2009 года .
- ^ Гай Харрисон; Стивен Фейерштейн (2008). Программирование хранимых процедур MySQL . O'Reilly Media. п. 49. ISBN 978-0-596-10089-6.
- ^ «Мониторинг показателей производительности RDS MySQL» . Датадог . 20 октября 2015 . Проверено 14 декабря 2015 года .
- ^ "Руководство пользователя MySQL :: InnoDB 1.1 для MySQL 5.5 :: Глоссарий C InnoDB :: ACID" . Архивировано из оригинального 25 декабря 2010 года . Проверено 5 января 2011 года .
- ^ «Репликация» . MySQL.
- ^ «Репликация MariaDB» . База знаний MariaDB . Проверено 9 марта 2019 .
- ^ "MySQL :: MySQL 5.7 Справочное руководство :: 16.1.4 MySQL Multi-Source Replication" . dev.mysql.com . Проверено 9 марта 2019 .
- ^ "Справочное руководство MySQL :: MySQL 5.7 :: 16.3.9 Полусинхронная репликация" . dev.mysql.com . Проверено 9 марта 2019 .
- ^ «Полусинхронная репликация» . База знаний MariaDB . Проверено 9 марта 2019 .
- ^ «MySQL Cluster Replication: Multi-Master and Circular Replication» . MySQL.
- ^ "MySQL University: MySQL Galera Multi-Master Replication" . Корпорация Oracle . 9 февраля 2010 г.
- ^ "Справочное руководство MySQL :: MySQL 8.0 :: 18 репликация групп" . dev.mysql.com . Проверено 9 марта 2019 .
- ^ «13.1.20.5 ИНОСТРАННЫЕ КЛЮЧЕВЫЕ ограничения» . MySQL . Проверено 10 марта 2021 года .
- ^ «Ошибка № 3464 Ограничения: ПРОВЕРКА поддержки» . MySQL. 14 апреля 2004 . Проверено 11 апреля 2015 года .
- ^ «Справочное руководство MySQL 8.0: синтаксис CREATE TABLE» . Справочное руководство по MySQL . Oracle . Проверено 7 мая 2018 .
- ^ а б «CREATE TRIGGER Syntax» . MySQL . Проверено 11 апреля 2015 года .
- ^ «Ошибки MySQL: # 12654: 64-разрядная временная метка unix не поддерживается в функциях MySQL» . MySQL. 18 августа 2005 . Проверено 6 октября 2017 года .
- ^ «Разрешить даты после 2038 года по dveeden · Запрос на извлечение №130 · mysql / mysql-server» . GitHub, Inc. 22 марта 2017 . Проверено 6 октября 2017 года .
- ^ «Будущее репликации в MySQL» . Facebook . Проверено 9 декабря 2009 года .
- ^ «Шардинг базы данных» . Code Futures. Архивировано из оригинала 16 января 2010 года . Проверено 9 декабря 2009 года .
- ^ "MySQL :: MySQL Enterprise Высокая доступность" . www.mysql.com . Проверено 9 марта 2019 .
- ^ «Высокая доступность и настройка производительности» . База знаний MariaDB . Проверено 9 марта 2019 .
- ^ «Запуск MySQL на Amazon EC2 с EBS (Elastic Block Store)» . Amazon Web Services . Проверено 5 февраля 2013 года .
- ^ Финли, Клинт. «7 облачных служб баз данных» . ReadWriteWeb . Архивировано из оригинала 9 ноября 2011 года . Проверено 9 ноября 2011 года .
- ^ mysql - Инструмент командной строки MySQL, Справочное руководство по MySQL
- ^ mysqladmin - инструмент командной строки MySQL, Справочное руководство MySQL
- ^ «Percona Toolkit» . Percona . Проверено 26 марта 2014 года .
- ^ "MySQL :: Загрузить оболочку MySQL" . dev.mysql.com . Проверено 9 марта 2019 .
- ^ «Руководство разработчика MySQL Connector / NET» . mysql.com . 9 сентября 2020 . Проверено 20 сентября 2020 года .
- ^ «Руководство разработчика MySQL Connector / J» . mysql.com . 18 сентября 2020 . Проверено 20 сентября 2020 года .
- ^ "MySQL :: Download Connector / Python" . dev.mysql.com . Проверено 9 марта 2019 .
- ^ "MySQL :: Download Connector / Node.js" . dev.mysql.com . Проверено 9 марта 2019 .
- ^ "Как это связано с другими форками MySQL?" . Часто задаваемые вопросы . Percona. Архивировано из оригинала 15 апреля 2015 года . Дата обращения 6 июня 2015 .
- ^ «Percona бросает вызов Oracle с альтернативной версией MySQL» . Мир ПК . Проверено 12 февраля 2015 года .
- ^ Кларк, Джек (17 марта 2011 г.). "Форк MySQL Drizzle получает общий релиз" . ZDNet . Проверено 3 января +2016 .
- ^ Стивен Дж. Воан-Николс (28 марта 2013 г.). «WebScaleSQL: MySQL для баз данных размером с Facebook» . ZDNet . Проверено 1 апреля 2014 года .
- ^ Клинт Финли (27 марта 2013 г.). «Google и Facebook объединяются, чтобы модернизировать устаревшие базы данных» . Проводной . Проверено 1 апреля 2014 года .
- ^ Джек Кларк (27 марта 2013 г.). «Forkin '' L! Facebook, Google и друзья создают WebScaleSQL из MySQL 5.6» . Реестр . Проверено 1 апреля 2014 года .
- ^ «Часто задаваемые вопросы» . webscalesql.org . 27 марта 2014 . Проверено 1 апреля 2014 года .
- ^ https://openquery.com.au/products/ourdelta
Внешние ссылки
СМИ, связанные с MySQL, на Викискладе?
- Официальный веб-сайт
- MySQL в Oracle
- Axmark, Дэвид (21 марта 2008 г.). «Соучредитель MySQL Дэвид Аксмарк о приобретении Sun за миллиард долларов» (видео) . intruders.tv .
- MySQL в Curlie