Mysql лицензия на использование mysql

Содержание

Создание пользователей MySQL/MariaDB и предоставление прав доступа

Учетные записи в СУБД MySQL/MariaDB представлены в виде связки @ . Это может вызвать путаницу, поэтому необходимо быть внимательнее, например, учетные записи root@localhost и root@192.168.0.15 — разные.

Создание пользователя

mysql> GRANT ON TO [IDENTIFIED BY ] ;

Например, эта команда предоставляет права доступа пользователю и, если его не существует, создает его:

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

ALL PRIVILEGES: предоставляет полные права на использование данных.
*.* : права предоставляются на все базы и все таблицы.
dbuser: имя учетной записи.
localhost: доступ для учетной записи будет предоставлен только с локального компьютера.
password: пароль, который будет задан пользователю.
WITH GRANT OPTION: будут предоставлены дополнительные права на изменение структуры баз и таблиц.

Посмотреть существующих пользователей и их привилегии

mysql> SELECT user, host FROM mysql.user;

Список привилегий (для кажого пользователя смотряться отдельно):

mysql> SHOW GRANTS FOR ‘root’@’localhost’;

* где ‘root’@’localhost’ — учетная запись, для которой смотрим привилегии; если упустить FOR, команда выдаст результат для пользователя, под которым выполнено подключение к СУБД.

Смена пароля

MySQL

Версия 5.7.6 и более современная:

mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘New_Password’;

Версия 5.7.5 и древнее:

mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘New_Password’);

* посмотреть версию СУБД можно командой mysql -V.

MariaDB

mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘New_Password’);

Смена пароля пользователю root

Первый раз пароль задается из командной строки операционной системы (для MySQL/MariaDB):

mysqladmin -u root password

Для смены пароля root необходимо выполнить команду в оболочке mysql по инструкции, описанной выше.

Другие примеры

Рассмотрим часто встречаемые операции по работе с пользователями сервера баз данных.

1. Особые права

Предоставление особых прав пользователю:

mysql> GRANT SELECT, UPDATE ON base1.* TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;

* права на выборку и обновление данных во всех таблицах базы base1 для пользователя dbuser
** список всех возможных прав: all privileges, alter, create, create temporary tables, delete, drop, execute, file, index, insert, lock tables, process, references, reload, replication client, replication slave, select, show databases, shutdown, super, update, usage

2. Удаленное подключение

Разрешение на удаленное подключение и использование базы MySQL:

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’192.168.0.55’ IDENTIFIED BY ‘password’;

* предоставит права пользователю dbuser, который будет подключаться с компьютера с IP-адресом 192.168.0.55.

3. Права на резервное копирование

Создание учетной записи MySQL с правами создания резервных копий:

mysql> GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER, LOCK TABLES ON *.* TO ‘backup’@’localhost’ IDENTIFIED BY ‘backup’;

4. Права доступа к определенной таблице

По сути, это такое же предоставление прав, но с указанием конкретной таблицы после базы:

mysql> GRANT ALL PRIVILEGES ON base1.table1 TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;

* в данном примере предоставлены все права на таблицу table1 в базе base1.

Возможные ошибки

1. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Причина: в новых версиях по умолчанию активированы политики на проверку сложности пароля. Их список можно посмотреть командой:

> SHOW VARIABLES LIKE ‘validate_password%’;

Вывод команды будет, примерно, следующим:

+—————————————+———+
| Variable_name | Value |
+—————————————+———+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+—————————————+———+

  • validate_password_check_user_name — пароль не должен совпадать с именем пользователя.
  • validate_password_dictionary_file — использовать специальный файл со словарем запрещенных паролей.
  • validate_password_length — минимальная длина пароля.
  • validate_password_mixed_case_count — сколько, как минимум, должно быть символов в малой и большой раскладках.
  • validate_password_number_count — какое минимальное количество цифр использовать в пароле.
  • validate_password_policy — позволяет задать определенный набор правил. Доступны значения LOW (или 0), MEDIUM (1), STRONG (2).
  • validate_password_special_char_count — минимальное количество специальных символов (например, # или !).
  1. Привести пароль в соответствие требованиям политик.
  2. Отключить политику, которая не позволяет использовать желаемый пароль. Например, чтобы отключить требование использовать цифры вводим:

2. ERROR 1728 (HY000): Cannot load from mysql.tables_priv. The table is probably corrupted

Причина: система считает, что таблица tables_priv в базе mysql неисправна.

Решение: чаще всего, ошибка возникает при переносе баз с одного сервера в другой. Если версии СУБД разные, таблица tables_priv может работать со сбоями. Для исправления необходимо выполнить команду mysql_upgrade — она проверяет все таблицы на совместимость с текущей версией MySQL/MariaDB и вносит исправления. Применение команды:

Linux.yaroslavl.ru

Справочное руководство по MySQL

1.6.3 Лицензии на ПО MySQL
  • 1 Общая информация
    • 1.6 Лицензии и поддержка MySQL
      • 1.6.1 Поддержка, предлагаемая компанией MySQL AB
      • 1.6.2 Авторские права и лицензии на MySQL
      • 1.6.3 Лицензии на ПО MySQL
        • 1.6.3.1 Использование ПО MySQL под коммерческой лицензией
        • 1.6.3.2 Бесплатное использование ПО MySQL по лицензии GPL
      • 1.6.4 Логотипы и торговые марки MySQL AB

1.6.3 Лицензии на ПО MySQL

ПО MySQL распространяется в соответствии с условиями общедоступной лицензии GNU General Public License ( GPL ), которая является одной из наиболее широко распространенных лицензий на ПО с открытым исходным кодом. Официальные условия лицензии GPL вы найдете на веб-сайте http://www.gnu.org/licenses/. Обратитесь также к http://www.gnu.org/licenses/gpl-faq.html и http://www.gnu.org/philosophy/enforcing-gpl.html.

Так как ПО MySQL выпускается по лицензии GPL , зачастую им можно пользоваться бесплатно, но в некоторых случаях желательно или необходимо приобрести коммерческую лицензию у компании MySQL AB (это можно сделать на веб-сайте https://order.mysql.com/).

Старые версии MySQL (3.22 и более ранние) подпадают под действие более строгой лицензии (http://www.mysql.com/products/mypl.html). Информацию об условиях лицензии вы найдете в документации на конкретную версию.

Обращаем ваше внимание на то, что использование ПО MySQL, подпадающего под коммерческую лицензию, лицензию GPL или старую лицензию MySQL, не означает, что вы автоматически получаете право на использование торговых марок, принадлежащих компании MySQL AB. Об этом читайте в разделе section 1.6.4 Логотипы и торговые марки MySQL AB.

Лицензия на использование MySQL

Правильно ли я понимаю, что если я не включаю MySQL в свой дистрибутив, то я не должен за него платить?

А вот если я пишу коммерческие приложения, которые для своей работы обращаются к данным лежащим в MySQL?Нужно ли тут платить?

MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия, которая также обеспечивает качественную сервисную поддержку.

Mysql лицензия на использование mysql

Лицензии на ПО MySQL

П О MySQL распространяется в соответствии с условиями общедоступной лицензии GNU General Public License ( GPL ), которая является одной из наиболее широко распространенных лицензий на ПО с открытым исходным кодом. Официальные условия лицензии GPL вы найдете на веб-сайте http://www.gnu.org/licenses/. Обратитесь также к http://www.gnu.org/licenses/gpl-faq.html и http://www.gnu.org/philosophy/enforcing-gpl.html.

Т ак как ПО MySQL выпускается по лицензии GPL , зачастую им можно пользоваться бесплатно, но в некоторых случаях желательно или необходимо приобрести коммерческую лицензию у компании MySQL AB (это можно сделать на веб-сайте https://order.mysql.com/).

С м. http://www.mysql.com/products/licensing.html для получения более подробной информации.

С тарые версии MySQL (3.22 и более ранние) подпадают под действие более строгой лицензии (http://www.mysql.com/products/mypl.html).Информацию об условиях лицензии вы найдете в документации на конкретную версию.

О бращаем ваше внимание на то, что использование ПО MySQL, подпадающего под коммерческую лицензию, лицензию GPL или старую лицензию MySQL, не означает, что вы автоматически получаете право на использование торговых марок, принадлежащих компании MySQL AB. Об этом читайте в разделе Логотипы и торговые марки MySQL AB.

Использование ПО MySQL под коммерческой лицензией

Л ицензия GPL — в хорошем смысле — носит «заразный» характер. Это означает, что в случае линкования какой-либо программы с программой, выпущенной по данной лицензии, все части исходного кода получившегося продукта должны также выпускаться по лицензии GPL . В противном случае будут нарушены условия лицензии и вы вообще лишитесь права использовать программу, подпадающую под ее действие.

К оммерческая лицензия является необходимой в следующих случаях:

При линковании программы с любым GPL кодом из ПО MySQL, в тех случаях, когда вы не хотите, чтобы готовый продукт подпадал под действие GPL (например, продукт разрабатывается как коммерческий или существуют какие-либо другие причины не открывать добавленный программный код, который не подпадает под действие GPL ). При покупке коммерческой лицензии вы не используете ПО MySQL под лицензией GPL , даже несмотря на то, что это один и тот же код.

В случае распространения приложения, не защищенного лицензией GPL , которое предназначено для работы исключительно с ПО MySQL и
поставляется вместе с ним. Такой вариант решения в действительности считается связыванием, даже если оно осуществляется по сети.

В случае, когда вам требуется распространять ПО MySQL без предоставления исходного кода, как того требует лицензия GPL .

Если вы хотите сделать вклад в дальнейшее развитие технологии баз данных MySQL — в таких случаях коммерческая лицензия формально может и
не требоваться. Еще одним хорошим способом оказать содействие развитию ПО MySQL является приобретение контракта по поддержке непосредственно
у компании MySQL AB — это сразу же принесет пользу и вам .

Д ля каждой инсталляции ПО MySQL вам понадобится отдельная лицензия. Ее действие распространяется на любое число процессоров в машине и при этом не накладывается никаких юридических ограничений на число клиентских машин, подключенных к серверу.

П о поводу коммерческих лицензий, см. http://www.mysql.com/products/licensing.html. Для контрактов на поддержку, см. http://www.mysql.com/support/. Тех, для кого требуются особые условия лицензирования, а также тех, у кого имеется ограниченный доступ в Internet, просим связаться с нашим отделом сбыта по адресу sales@mysql.com.

Бесплатное использование ПО MySQL по лицензии GPL

П о лицензии GPL допускается бесплатное использование ПО MySQL если вы согласны с условиями GPL . Подробнее по поводу лицензии GPL и освещение наиболее популярных вопросов вы найдете по адресу http://www.gnu.org/licenses/gpl-faq.html.

Н екоторые общие примеры GPL-использования MySQL:

Если вы распространяете код вашего приложения и код MySQL под лицензией GPL и в исходных текстах.

При распространении исходного кода MySQL в комплекте с другими программами, не связанными с MySQL или не зависящими от него по своему функциональному назначению, даже в том случае, если они распространяются на коммерческой основе. Это называется mere aggregation в лицензии GPL .

Если вы не распространяете никаких частей кода MySQL — вы можете использовать MySQL бесплатно.

При использовании ПО MySQL сервис-провайдерами Internet (ISP), предлагающими своим клиентам веб-хостинг с серверами баз данных MySQL. С другой стороны, мы настоятельно рекомендуем пользователям обращаться только к тем сервис-провайдерам, которые имеют контракт на поддержку компании MySQL: только при наличии такого контракта можно иметь уверенность в том, что при возникновении проблем с инсталляцией MySQL сервис-провайдер будет способен оказать своим клиентам действенную помощь. Заметим, что даже те сервис-провайдеры, которые не имеют коммерческой лицензии на MySQL, должны, по крайней мере, предоставить своим клиентам доступ к чтению исходного кода инсталляции MySQL, чтобы они могли самостоятельно проверить корректность всех сделанных ими дополнений или изменений.

При использовании ПО баз данных MySQL совместно с веб-сервером коммерческой лицензии не требуется (если, конечно, это не есть продукт, который вы распространяете). Это разрешение остается в силе даже в том случае, если веб-сервер, использующий MySQL, — коммерческий, так как при этом продажи версии MySQL, заложенной в него, как таковой не происходит. Однако в таком случае желательно,
чтобы владелец веб-сервера приобрел контракт на поддержку MySQL, поскольку ПО MySQL способствует успеху его предприятия.

В общем случае мы рекомендуем приобретать контракт на поддержку компании MySQL AB и тем, кому для использования ПО баз данных MySQL не требуется коммерческой лицензии: этим вы будете способствовать развитию технологии MySQL и заодно немедленно получите для себя дополнительные преимущества .

В случае использования ПО баз данных MySQL в коммерческих целях, предполагающего получение прибыли, мы предлагаем приобретение поддержки того или иного уровня, что будет способствовать дальнейшему развитию ПО MySQL. Мы считаем, что, если база данных MySQL способствует вашему бизнесу, то резонно предложить и вам оказать содействие компании MySQL AB (иначе получается так, что, обращаясь в нашу службу поддержки с вопросом, вы не только бесплатно пользуетесь тем, во что мы вложили большое количество усилий, но к тому же и требуете от нас еще и бесплатной поддержки).

MySQL AB меняет лицензию

Со своим последним стабильным релизом MySQL 4.0.20, компания поняла лицензию с LGPL на GPL, тем самым запретив линковку MySQL c ПО, распространяющимся под иными лицензиями (Apache, PHP, Perl и другими). Это в первую очередь ограничивает использование MySQL с закрытым ПО, а также накладывает серьёзные ограничения на использование MySQL в других ситуациях.

Невольно напрашиваются аналогии со сменой лицензии на XFree86, которая ни к чему хорошему не привела. :(

Re: MySQL AB меняет лицензию

Надо же как мои же новости с ошибкой copy -> paste из LRN -> LOR.

Re: Re: MySQL AB меняет лицензию

Re: MySQL AB меняет лицензию

это плохо для них же самих — приехали называеться.

MySQL правда та еще гадость, надо смотреть с чем линкуеться у меня с какой версией.

Re: MySQL AB меняет лицензию

В своё время (года 4 назад) они сделали обратное, сменили лицензию с GPL на LGPL, а сейчас, стало быть, решили вернуться.

В общем же, новость, на мой взгляд, положительная, GPL RULEZ! Тот, кто пишет под BSD-like, помогает M$!

Re: MySQL AB меняет лицензию

«Our understanding is that they’re trying to make sure that the ones who are really selling MySQL-based applications have to pay,» Gutmans said.

Re: MySQL AB меняет лицензию

> тем самым запретив линковку MySQL c ПО, распространяющимся под иными лицензиями (Apache, PHP, Perl и другими)

Re: MySQL AB меняет лицензию

Perl распространяется под GPL

Re: Re: MySQL AB меняет лицензию

причем забесплатно помогает

Re: Re: MySQL AB меняет лицензию

Ну, мне казалось, что ты возражать не будешь. Если ты считаешь это нужным, могу в будущем ставить ссылку на тебя.

Re: Re: MySQL AB меняет лицензию

Угх. А я уж испугался, что они пошли путем Троллей (подленьким таким:). А тогда чего они с редхатом не поделили? Или редхат с ними поругался о чем-то другом?

Re: Re: MySQL AB меняет лицензию

> GPL RULEZ! Тот, кто пишет под BSD-like, помогает M$!

Почитай тексты, и разберись с лицензиями, прежде чем постить такие комментарии в стиле анонимусов :)

Re: MySQL AB меняет лицензию

Честно говоря, после постгреса для меня не осталось ни одной фичи в майсиквеле, которой бы мне не хватало. Я уж и так лучше буду сидеть на пг+всё что угодно, чем на мускул+только в GPL проектах.

Может я и не прав, но по-моему, мускул давно себя изжил, и даже ИнноДБ ему не помог

Re: MySQL AB меняет лицензию

Вообще странная ситуация — уходят с GPL — не нравится. Приходят к нему — тоже. ;-)

Re: Re: Re: MySQL AB меняет лицензию

>Угх. А я уж испугался, что они пошли путем Троллей (подленьким таким:). А тогда чего они с редхатом не поделили? Или редхат с ними поругался о чем-то другом?

Илон Маск рекомендует:  Что такое парсер (граббер)

Хоть и со смайликом, но чего же в нём подлого? Люди деньги зарабатывают и исходниками (хорошими, кстати) делятся.

Они вроде всё аргументированно объяснили.

А путь и правда тролёвый походу. Есть же коммерческая версия с закрытыми исходниками?

Re: Re: MySQL AB меняет лицензию

>Честно говоря, после постгреса для меня не осталось ни одной фичи в майсиквеле

Слушай, а как постгреса уговорить быстро работать с большим количеством инсертов? Вроде есть автовакуум, но не хочется, чтобы он машину просаживал периодически.

Re: Re: Re: MySQL AB меняет лицензию

Spectr >Почитай тексты, и разберись с лицензиями, прежде чем постить >такие комментарии в стиле анонимусов :)

Я за слова отвечаю, так что или комментируй по существу, или помалкивай а не пости флуд «в стиле анонимусов»

Re: Re: Re: Re: MySQL AB меняет лицензию

> Хоть и со смайликом, но чего же в нём подлого? Люди деньги зарабатывают и исходниками (хорошими, кстати) делятся.

Ну, смайлик — это потому что я все-таки шучу немного (и вообще все дальнейшее — мое ИМХО). Просто не люблю, когда руки выкручивают. Для конечных продуктов, которые никуда не линкуются — GPL замечательная вещь. Для продуктов, которые используются совместно с другими — это выкручивание рук и сознательное давление на третьесторонние компании и проекты. В случае с мускулом _лично_я_ готов это им простить — потому как они сделали исключение для других OS лицензий (хотя и сочувствую тем компаниям, которые раньше влинковывали мускул в свои коммерческие продукты). А Тролли этого исключения не сделали.

И вообще — я и Троллей понимаю, и мускулистых — денег всем хочется. Так что прямо осудить их и сказать «фу, плохие» я, наверное, не смогу:)

Re: Re: Re: Re: Re: MySQL AB меняет лицензию

> Просто не люблю, когда руки выкручивают.

а иначе — никак: добро пожаловать в капитализм :)
либо ты оплачиваешь мой труд деньгами,
либо помощью движению open source путем открытия своих исходников под ГПЛ,
а вот иначе — получается именно подлость

Re: MySQL AB меняет лицензию

новость трехлетней давности + неправда, т.к. уже давным давно они же опубликовали список FOSS-исключений.

Re: Re: Re: MySQL AB меняет лицензию

> Угх. А я уж испугался, что они пошли путем Троллей (подленьким таким:). А тогда чего они с редхатом не поделили? Или редхат с ними поругался о чем-то другом?

Подленьким?
Такие фирмы, как Trolltech вобще-то защищают нас, пользователей, от коммерческих производителей. Перед тем, как они начнут брать деньги с нас, предварительно возьмут с них. Планка. В этом сила GPL/двойного лицензирования.

LGPL же отдает пользователей (нас) на растерзание производителям.

Так чего здесь подленького?

Re: MySQL AB меняет лицензию

Вот поднимаете бузу из ничего как всегда. Всё что сделали с этой сменой лицензий — запретили расрпостранять коммерческие программы на С и С++ линкующиеся (стат. или дин.) с GPL клиентом MySQL. Чтобы люди на MySQL просто так деньги не наваривали. Для _всех_ известных открытых лицензий линковка как была возможна так и осталась возможной, технически это сделано через FOSS. Соответсвенно если вы свой софт не распространяете за это платить также не надо, так как вы GPL в этом случае не нарушаете. Но конечно это повод всем сторонникам одной известной базы данных распространяющейся под BSD лицензией поднять бузу про то какой MySQL не opensourcный. OS != халява, и пора уже понять что качество продукта выше если его делают профессионалы на full-time, а не просто энтузиасты (не в обиду энтузиазму будет сказано).

Re: Re: Re: Re: MySQL AB меняет лицензию

> Такие фирмы, как Trolltech вобще-то защищают нас, пользователей, от коммерческих производителей

Это от самих себя?:)

> Перед тем, как они начнут брать деньги с нас, предварительно возьмут с них. Планка. В этом сила GPL/двойного лицензирования.

Поэтому я _поставил_смайлик_. И написал о том, что всерьез я их осудить не могу. Хотя все-таки _чисто_этически_ двойное лицензирование с LGPL мне симпатичнее. Если хочешь поддержку — покупаешь ее. А иначе — делай что хочешь (даже если собираешься делать закрытый продукт). Правда, с т.зр. капитализма это менее выгодно. Таковы суровые законы жизни, или жизнь диктует нам свои суровые законы. )

Re: Re: Re: Re: Re: MySQL AB меняет лицензию

> Это от самих себя?:)

:) Ок. От не-gpl-щиков.

>Поэтому я _поставил_смайлик_. И написал о том, что всерьез я их осудить не могу. Хотя все-таки _чисто_этически_ двойное лицензирование с LGPL мне симпатичнее.

Да. И не только Вам. Но и не-gpl-щикам. Кстати, и Вам это лицензирование (LGPL) симпатичнее с точки зрения коммерческой применимости. Так что в этом случае Вы тоже не-gpl-щик)

В общем, GPL-лицензию нужно рассматривать как консенсус между производителями и потребителями. Изменение условий лицензирования в пользу какой-либо из сторон приводит к неудовольствию второй.

Re: MySQL AB меняет лицензию

чего-то явы в FOSS нет. Получается, все, что использует jdbc драйвер — отметается. Хехе

Re: Re: Re: MySQL AB меняет лицензию

> Слушай, а как постгреса уговорить быстро работать с большим количеством инсертов? Вроде есть автовакуум, но не хочется, чтобы он машину просаживал периодически.

А нужно всё делать в отдельных транзакциях обязательно? Если я не ошибаюсь, большое количество инсертов — моветон в дизайне БД. И я стараюсь проектировать базы так, чтобы не было таких нужд. Вдобавок, железо нынче дешёвое, так что целых 3 секунды 100% загрузки проца ты сможешь себе позволить.

А так — sql.ru тебе в помошь =)

Re: MySQL AB меняет лицензию

А ващето правильно, давно нало было положить конец пионерской связке PHP + Мускуль

Re: Re: MySQL AB меняет лицензию

jdbc драйвер не использует клиентских библиотек mysql, он сам по себе протокол поддерживает, на чисто жава коде

Re: Re: Re: Re: MySQL AB меняет лицензию

Там просто есть большая таблица, куда логи сыплются. Никак ведь без отдельных инсертов. а хранить всё надо. И выборки потом делать. С выборками — удобно, а с инсертами — обидно.

>А так — sql.ru тебе в помошь =)

Re: Re: Re: Re: Re: Re: MySQL AB меняет лицензию

> Да. И не только Вам. Но и не-gpl-щикам. Кстати, и Вам это лицензирование (LGPL) симпатичнее с точки зрения коммерческой применимости. Так что в этом случае Вы тоже не-gpl-щик)

Открою Вам СТРАШШНУЮ тайну. Я — не gpl-щик. Иначе я бы не комментировал смену LGPL на GPL. Я скороее оперсорсовик с легким левым уклоном в сторону GPL:) В некоторых случаях применение GPL идет вразрез с интересами распространенности опенсорцового софта. Особенно это касается библиотек (для которых я считаю GPL неприемлемой — опять же ИМХО).

Re: Re: MySQL AB меняет лицензию

в случае пионерского (это 90% случаев) использования связки PHP+MySQL, идеальная замена — пионерский же PHP+sqlite =)

Re: MySQL AB меняет лицензию

Re: Re: Re: MySQL AB меняет лицензию

> jdbc драйвер не использует клиентских библиотек mysql, он сам по себе протокол поддерживает, на чисто жава коде

If you include the MySQL server with an application that is not licensed under the GPL or GPL-compatible license, you need a commercial license for the MySQL server.

If you develop and distribute a commercial application and as part of utilizing your application, the end-user must download a copy of MySQL; for each derivative work, you (or, in some cases, your end-user) need a commercial license for the MySQL server and/or MySQL client libraries.

If you include one or more of the MySQL drivers in your non-GPL application (so that your application can run with MySQL), you need a commercial license for the driver(s) in question. The MySQL drivers currently include an ODBC driver, a JDBC driver and the C language library.

Re: Re: Re: MySQL AB меняет лицензию

у редхата же свой rhdb — postgresql. зачем им эта кака :))

Re: Re: MySQL AB меняет лицензию

есть джава. на сайте мускла написано, ч то с полным списком лицензий можно ознакомится на сайте ОС. прошу:
http://opensource.org/licenses/sunpublic.php

Re: Re: Re: MySQL AB меняет лицензию

Нет. На том же сайте мускуля (http://www.mysql.com/products/licensing/foss-exception.html) дан конкретный список лицензий, подпадающих под искючение:

«You distribute all identifiable sections of the Derivative Work which are not derived from the Program, and which can reasonably be considered independent and separate works in themselves, subject to one of the licenses listed below»

Academic Free License 2.0

Apache Software License 1.0/1.1/2.0

Apple Public Source License 2.0

Artistic license From Perl 5.8.0

BSD license «July 22 1999»

Common Public License 1.0

GNU General Public License (GPL) 2.0

GNU Library or «Lesser» General Public License (LGPL) 2.1

Jabber Open Source License 1.0

Mozilla Public License (MPL) 1.0/1.1

Python license (CNRI Python License) —

Python Software Foundation License 2.1.1

Sleepycat License «1999»

W3C License «2001»

Zope Public License 2.0

И _дополнительно_ оговаривается, что любая лицензия из этого списка должна подпадать под определение OSI:

«Due to the many variants of some of the above licenses, we require that any version follow the Open Source Definition by the Open Source Initiative (see opensource.org).»

Re: Re: Re: Re: MySQL AB меняет лицензию

не буду спорить. просто я понял, что раз:
«We want FOSS-only (Free and Open Source Software) applications to be able to use GPL-licensed MySQL Client libraries despite the fact that not all FOSS licenses are compatible with the GPL. Therefore we have issued the following exception»
то есть дают список разрешенных лицензий, но НЕ совместимых с GPL. остальные же FOSS, может я не прав.
по мне, так вообще — чем скорее люди перейдут на СУБД postgresql с электронных таблиц — тем лучше :-)

Re: Re: Re: Re: Re: MySQL AB меняет лицензию

> то есть дают список разрешенных лицензий, но НЕ совместимых с GPL

С каких пор MIT и new-style BSD стали несовместима с GPL?

Они дают список FOSS-лицензий, _отличных_ от GPL, для которых они решили сделать исключение.

Кстати в любом случае — а при чем тут лицензия явы? Вряд ли кто-нибудь будет свой софт, пусть даже и писанный на яве, под ней релизить.

> по мне, так вообще — чем скорее люди перейдут на СУБД postgresql с электронных таблиц — тем лучше :-)

Да кто ж спорит =) Я вообще так и не понял толком, _зачем_ нужен MySQL, в чем его ниша? Для мелких задач — sqlite. Для серьезного — Postgres или Firebird. Для действительно крупномасштабных вещей, Oracle — это наше все. И что здесь делать мускулю?

Re: Re: Re: Re: Re: MySQL AB меняет лицензию

Вон уже Ingres открывают, правда тоже под своей лицензией типа CPL.

Re: Re: Re: Re: Re: Re: MySQL AB меняет лицензию

И что здесь делать мускулю?

долго думал об этом :-)
у него одно свойство — доступность широкому кругу пользователей.
а оттуда вытекает несколько следствий:
* каждый может его поставить и +- настроить
* куча кул-пхп-кодеров, самоцель которых «посмотри как я умею», а вовсе не «just for fun» (что, как мне кажется, является более продуктивным — мозги на пиписькомеренье не отвлекаются). никакого исследовательского интереса.
* из предыдущего пункта вытекает следующий: куча ужасно-написанных приложений, разработчики (?) которых даже не знают, что такое техническое задание
* отсюда же следует ощущение массовости — куча никому ненужного, глючного барахла.

подсобила ещё сильная поддержка в пхп

а так да. мускл штука конечно прикольная — для изучения sql-syntax. сейчас ссылку не дам, но парни с sf.net тестили его и постгрес у себя. мускл задыхался при одновременной регистрации 5-7 человек. падал в корку (4-ая версия вроде была там).
у него даже свойства как у таблиц — пока оперативки хватает — всё прикольно, а потом :)))

а простые сайтики, которых полно, могут вообще обойтись без базы. зачем утежелять систему. текстовые файлики самое то — быстро так :-)

Кстати в любом случае — а при чем тут лицензия явы? Вряд ли кто-нибудь будет свой софт, пусть даже и писанный на яве, под ней релизить.

а ну так разве лицензию на мускл не надо было покупать, если продукт свой продаешь?

С каких пор MIT и new-style BSD стали несовместима с GPL?

говорю ж: плохо понял, не спал ))

MySCQ

Long live Firebird! :)

Re: MySCQ

Статейка странненькая Клиент стал GPL вместо LGPL начиная с MySQL 4.0 то есть более 2х лет назад — что это эти товариши проснулись то ?

За последнее время наоборот было произведено обновление списка совместимых лицензий так чтобы включать PHP.

Весьма смешно смотреть на людей которые выкрикивают MySQL пришел пипец учитывая темпы коммерческого развития (не путать с фичами) которое имеет сейчас эта база данных.

RedHat же легко понять они близко дружат с Oracle поэтому они и не очень то MySQL двигают.

Re: Re: Re: Re: Re: Re: Re: MySQL AB меняет лицензию

> а так да. мускл штука конечно прикольная — для изучения sql-syntax. > > сейчас ссылку не дам, но парни с sf.net тестили его и постгрес у себя. > мускл задыхался при одновременной регистрации 5-7 человек. падал в > корку (4-ая версия вроде была там). > у него даже свойства как у таблиц — пока оперативки хватает — всё > прикольно, а потом :)))

Хммм. Сами-то поняли что сказали? Куча примеров сайтов с количеством юзверей > 10.000, хотябы postnuke.com. Если бы оно все падало, не жил бы этот сервак уже более 10 лет :) Не хочу начинать флейм по поводу МуСКЛ-Постгрес, у каждого есть свои ++ и —. А теперь так, крутые пацаны. Моя ситуация: в месяц есть 4-5 клиентов, которые хотят платить по 300-400 у.е. за «пионерский» саит. И что, кто-то из присутствующих здесь откажется потому что «Посгрес круче». Или откроем свой хостинг, прикупим Т1 как минимум, постабим постгрес и будем пальцы гнуть? Не уверен. Так что уймитесь, пожалуйста.

Re: MySQL AB меняет лицензию

Просто MySQL распространяется по схеме с двойным лицензированием и помимо LGPL была и есть и чисто коммерческая лицензия. Так вот ребята заметили, что если сделать лицензию GPL, то они увеличат продажи коммерческих лицензий.

Re: Re: Re: Re: Re: MySQL AB меняет лицензию

#define Offtopic // Sorry :-|
Если есть проблема с большим кол-вом insert в таблицу и это логи, попробуйте сделать промежуточный сервер приложений, который такие insert будет кэшировать и выбрасывать в базу пачками: за одну транзакцию несолько insert.

Также для PostgreSQL возможен вариант копирования логов в сыром формате на сам сервер с последующей их загрузкой в базу командой copy с локального диска (лучше выделить отдельный раздел под это).

А vaccum помогает только после большого количества update/delete, если этого действия над таблицей не производилось, то для insert он ничем не поможет (исключение — обновление статистики для оптимизации работы СУБД).

Re: Re: Re: Re: Re: Re: Re: Re: MySQL AB меняет лицензию

вот нашёл ссылку. прошу прощения если непраавильно вспомнил чего-то
http://www.phpbuilder.com/columns/tim20000705.php3

ещё раз говорю: у мускл есть только один плюс — это его доступность для ширкого круга кулхакеров. однако там, где он обычно применяется всегда хватает derkley db или того же sqllite. а если уж нужен сервер — то однозначно постгрес. и дело не в крутости, дело в качестве и благонадёжности

ps никто не знает как заставить этот прекрасный ресур хранить пароль, тчобы каждый раз не вводить?

Re: Re: Re: Re: Re: Re: Re: Re: MySQL AB меняет лицензию

> Моя ситуация: в месяц есть 4-5 клиентов, которые хотят платить по 300-400 у.е. за «пионерский» саит. И что, кто-то из присутствующих здесь откажется потому что «Посгрес круче».

Нет, конечно. Сам бы я на VB.NET вряд ли стал писать — но мне за это платят =)

Собственно, потому оно (VB.NET и мускуль) так и популярно.

Re: Re: Re: Re: Re: Re: Re: Re: Re: MySQL AB меняет лицензию

так же можно сказать: виндозу используют на 90% компьютеров — значит она лучшая :-)

Re: Re: Re: Re: Re: Re: Re: Re: Re: MySQL AB меняет лицензию

> ps никто не знает как заставить этот прекрасный ресур хранить пароль, тчобы каждый раз не вводить?

use password manager

Re: MySQL AB меняет лицензию

Пиплы, а на линуксе вообще можно запускать не GPL софт? Его под определение динамической линковки впихнуть никак нельзя? Вот бы все буржуины подавились. По поводу mysql — должны ли сайты которые юзают mysql выкладывать исходники всех страничек?

Re: Re: MySQL AB меняет лицензию

>Пиплы, а на линуксе вообще можно запускать не GPL софт? Его под определение динамической линковки впихнуть никак нельзя?

Ядро — под LGPL вроде. Для glibc существует специальное исключение, позволяющее использовать с ним неGPL-софт.

> По поводу mysql — должны ли сайты которые юзают mysql выкладывать исходники всех страничек?

А это смотря по тому, как ты трактуешь GPL. Если так же как мускулевцы — то в принципе да, должны. Только не прям так сразу, а по требованию.

MySQL

MySQL (расшифровывается как свободная реляционная система управления базами данных) – это компактный многопоточный сервер баз данных, который отличается высокой скоростью работы, устойчивостью и простотой в использовании.

Изначально разрабатывался компанией TcX для решения внутренних задач – максимально быстрой обработки крупных баз данных. Внутри компании используется с 1996 года на сервере с более чем 40 БД, которые содержат 10,000 таблиц, из которых более чем 500 имеют более 7 миллионов строк.

На сегодняшний день разработкой и поддержкой MySQL занимается корпорация Oracle, которая приобрела Sun Microsystems 27 января 2010 года, после чего и включила MySQL в линейку своих продуктов. Ранее (26 февраля 2008 года) Sun Microsystems заплатила за покупку MySQL AB 1 миллиард долларов США. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

Илон Маск рекомендует:  Настройки Яндекс-почты, SPF, DKIM, DMARC для своего домена

MySQL – это наиболее оптимальное решение для малых и средних приложений. Исходники сервера компилируются на множестве платформ. Наиболее полно возможности сервера проявляются на Unix-серверах, где есть поддержка многопоточности, что дает значительный прирост производительности. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Благодаря поддержке огромного количества типов таблиц, MySQL является достаточно гибким. Пользователи могут выбирать и таблицы с полнотекстовым поиском MyISAM, и таблицы с транзакциями в отдельных записях InnoDB. Кроме того, MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря этому, а также открытой архитектуре и GPL-лицензированию, в MySQL возможно добавлять новые типы таблиц практически бесконечно.

MySQL-сервер является бесплатным для некоммерческого использования. Иначе необходимо приобретение лицензии, стоимость которой на текущий момент составляет 190 EUR.

Сообществом разработчиков MySQL созданы различные ответвления кода, такие как Drizzle, OurDelta, Percona Server, и MariaDB. Все эти ответвления уже существовали на момент поглощения компании Sun корпорацией Oracle.

До 1994 года на рынке были представлены главным образом базы данных, предназначенные для работы со значительными объемами данных и сложными взаимосвязями, которые обладали различными возможностями, но в тоже время требовали значительных вычислительных ресурсов. К числу таких баз данных относятся Oracle, Informix и Sybase. СУБД, которые бы поддерживали SQL и были при этом доступны по цене, в это время не было.

Крупные корпорации и университеты могли себе позволить приобрести мощные вычислительные комплексы, а небольшие организации и пользователи пользовались слабыми настольными базами данных, такими, как Postgres, в которой использовалась разновидность языка QUEL (PostQUEL), но, которая, к сожалению, требовала таких же ресурсов, что и ее аналоги, но не давала преимущества использования SQL в качестве языка запросов.

Тогда некий Дэвид Хьюз (ставший впоследствии, после публикации своей работы в Интернете, известным как Bamby), писавший на тот момент диссертацию в Университете Бонд (Австралия), занялся разработкой проекта Minerva Network Management System – системой наблюдения и контроля из одной или нескольких точек за группой систем. Главным элементом проекта должна была стать база данных для хранения информации обо всех компьютерах в сети. Сначала Хьюз решил использовать Postgres. Однако коллеги предложили использовать SQL в качестве языка запросов для Minerva, поскольку SQL является наиболее распространенным языком запросов, и, используя его, Minerva могла бы стать доступной в любой точке планеты, где стоит СУРБД, поддерживающая SQL. Это и послужило толчком к созданию MySQL.

Хьюз решил сам создать программу, которая будет в режиме реального времени транслировать SQL в PostQUEL. Сою программу он назвал miniSQL, или mSQL. Она перехватывала предложения SQL, посылаемые Minerva, преобразовывала их в PostQUEL и пересылала результат в Postgres. Некоторое время такая ситуация устраивала Хьюза. Однако в результате дальнейшего роста Minerva, стало очевидно, что на тех ограниченных ресурсах, которые ей доступны, поддерживать тот небольшой набор характеристик, который ей необходим, ни Postgres, ни какая другая большая СУРБД не смогут. Так, например, для того, чтобы реализовать возможность одновременного подключения Minerva сразу к нескольким базам данных, Postgres требовал одновременного запуска нескольких экземпляров сервера базы данных.

Для решения этих проблем Хьюз проанализировал работу Minerva, и, оказалось, основными запросами, генерируемыми Minerva, были: «insert», «delete» и «select». Поскольку у Хьюза уже был mSQL, осуществлявший трансляцию SQL, ему требовалось только создание сервера базы данных, удовлетворяющего его потребностям.

И тут в игру вступает Майкл Монти Видениус, который и считается изобретателем MySQL. В 1979 году он разработал средство управления базами данных, которое называлось UNIREG. В дальнейшем UNIREG была расширена для поддержки больших баз данных и была переписана на нескольких языках. В 1994 году компания TcX стала разрабатывать приложения для www с использованием UNIREG. Однако, в связи с большими накладными расходами, UNIREG не могла успешно использоваться для динамической генерации Web-страниц. Поэтому Видениус решил связаться с автором mSQL, Хьюзом, чтобы предложить ему подключить mSQL к обработчику B+ ISAM в UNIREG. Однако Хьюз успешно продвинулся на пути к mSQL 2, и компания решила создать сервер баз данных под свои нужды.

В TcX взяли за основу UNIREG и использовали утилиты сторонних разработчиков для mSQL, написали API для своей системы, который изначально сильно совпадал с API для mSQL. Однако это позволяло любому пользователю mSQL, желающему перейти на сервер баз данных ТсХ, внести в свой код незначительные изменения. Исходный код новой базы данных был полностью оригинальных. Таким образом, в мае 1995 года у компании имелась база данных MySQL 1.0, полностью удовлетворяющая потребностям компании.

В 1995 году Дэвид Оксмарк, работающий в компании Detron HB и являющийся бизнес-партнером фирмы, начал активно предлагать ТсХ распространять СУБД MySQL через интернет. Дэвид даже принял участие в работе над документацией. В результате версия 3.11.1 СУБД MySQL была выпущена в свет в 1996 году в виде бинарного дистрибутива для работы под управлением ОС Linux и Solaris. Сегодня MySQL работает на многих платформах и доступен как в двоичных кодах, так и в исходных текстах.

На сегодняшний день MySQL стал самым популярным средством для работы с базами данных в РНР. Это связано в первую очередь с тем, что поддержка этого сервера включается в поставку РНР. К тому же, популярности MySQL способствуют достаточно хорошие характеристики и широкий набор стандартных интерфейсных функций, которые крайне просты в использовании.

Лицензионная политика MySQL отличается большей гибкостью в сравнении с другими серверами баз данных. По сути, MySQL распространяется бесплатно за исключением тех случаев, когда вы намереваетесь ее продавать или продавать услуги, создаваемые с ее помощью

MySQL обладает отличной переносимостью и может, с тем же успехом, использоваться на коммерческих операционных системах, таких как Solaris, Irix или Windows, и на любой аппаратуре вплоть до мощных серверов. Более того, так же как и ее более «дорогие соперники», она позволяет обрабатывать большие базы данных, содержащие миллионы записей.

Название и логотип

Что касается названия, то существует несколько версий его возникновения. Первая версия говорит о том, что использование префикса «my» объясняется тем, что в ТсХ базовый каталог, а также значительное число библиотек и утилит в течение десятка лет обозначались именно таким префиксом. Поэтому логично его было использовать и в данном случае.

Вторая версия, более сентиментальная, опирается на то, что Майкл Монти Видениус назвал новый продукт именно MySQL по имени своей дочери – My. Дочь Видениуса действительно зовут My, а сам он не опровергает ни первую, ни вторую версию.

Логотип MySQL в виде дельфина носит имя «Sakila». Он был выбран из большого списка предложенных пользователями «имён дельфина». Имя «Sakila» было отправлено Open Source-разработчиком Ambrose Twebaze.

Возможности MySQL

Главная особенность MySQL в том, что он поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой системе управления базами данных.
Краткий перечень возможностей MySQL:

1. Поддерживается эффективная работа неограниченного количества пользователей, одновременно работающих с базой данных.

2. Количество строк в таблицах может достигать 50 млн.

3. Максимально быстрое выполнение команд. Существует мнение, что MySQL – и вовсе самый быстрый сервер из существующих.

4. Простая и эффективная система безопасности.

Пример диаграммы в MySQL

Впрочем, и у MySQL существуют отдельные недостатки. Главным образом это связано с тем, что для достижения столь высокой скорости работы разработчикам пришлось пожертвовать некоторыми требованиями к реляционным системам управления базами данных.

Итак, в MySQL отсутствуют:

1 . Поддержка вложенных запросов, типа SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) (в ранних версиях).

2 . Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE.

3 . Нет поддержки внешних (foreign) ключей.

4 . Нет поддержки триггеров и хранимых процедур.

5 . Нет поддержки представлений (VIEW). В версии 3.23 планируется возможность создавать представления.

По словам создателей, именно пункты 2-4 дали возможность достичь высокого быстродействия. Их реализация существенно снижает скорость сервера. Эти возможности не являются критичными при создании Web-приложений, что в сочетании с высоким быстродействием и малой ценой позволило серверу приобрести большую популярность.

Лицензирование

MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия, которая также обеспечивает качественную сервисную поддержку.

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL к OpenVMS. Важно отметить, что на официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.

Языки программирования

MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk, Компонентный Паскаль и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

История версий

• Первый внутренний выпуск MySQL состоялся 23 мая 1995 года [источник не указан 1224 дня].
• Версия для Windows систем (Windows 95 и NT) выпущена 8 января 1998.
• Версия 3.23: бета-версия в июне 2000, релиз в январе 2001.
• Версия 4.0: бета в августе 2002, релиз в марте 2003.
• Версия 4.1: бета в июне 2004, релиз в октябре 2004.
• Версия 5.0: бета в марте 2005, релиз в октябре 2005.
• Версия 5.1: разработка велась с ноября 2005, релиз в ноябре 2008.
• Версия 5.4: бета в апреле 2009, не была выпущена.
• Версия 5.5: релиз в декабре 2010.
• Версия 5.6: в разработке (5.6.6 m9 7 августа 2012).

История версий

Несмотря на то, что версия 4.0 является устаревшей, она всё ещё имеет значительное распространение. Основные возможности этой версии:

• практически полная реализация ANSI SQL-99, плюс расширения;
• межплатформенная совместимость;
• независимые типы таблиц (MyISAM для быстрого чтения, InnoDB для транзакций и ссылочной целостности);
• транзакции;
• поддержка SSL;
• кэширование запросов;
• репликация: один головной сервер на одного подчинённого, много подчинённых на одного головного;
• полнотекстовая индексация и поиск с использованием типа таблиц MyISAM;
• внедрённая библиотека базы данных;
• поддержка Юникода (UTF-8);
• таблицы InnoDB, обеспечивающие соответствие требованиям ACID;
• встроенный сервер, позволяющий включать MySQL в автономные приложения.

Рекомендованной версией на 2005 год является MySQL 4.1, которая вышла 27 октября 2004. Она содержит следующие нововведения:

• вложенные запросы и производные таблицы.
• новая система кодировок и сортировок;
• более быстрый и гибкий протокол клиент-сервер с поддержкой подготовленных запросов, обеспечивающий их оптимальное исполнение;
• новая программа установки и настройки для Microsoft Windows и Linux;
• защищённые через OpenSSL соединения клиент-сервер;
• высоко-оптимизированная библиотека, которая может быть использована в сторонних программах;
• полноценная поддержка Юникода (UTF-8 и UCS2);
• стандартные пространственные типы данных GIS, для хранения географической информации;
• улучшенный полнотекстовый поиск и система помощи.

Версия MySQL 5.0 была выпущена 24 октября 2005 года, в этой версии значительно расширена функциональность, которая ставит MySQL в один ряд с коммерческими СУБД. Если раньше СУБД MySQL обвиняли в недостаточной поддержке стандарта SQL, то с появлением пятой версии этой популярной базы данных, появилась практически полная поддержка стандарта SQL. MySQL 5.0 содержит следующие нововведения:
• хранимые процедуры и функции;
• обработчики ошибок;
• курсоры;
• триггеры;
• представления;
• информационная схема (так называемый системный словарь, содержащий метаданные).

MySQL 5.1

Версия MySQL 5.1 продолжает путь к стандарту SQL:2003. MySQL 5.1 содержит следующие нововведения:

• Сегментирование — возможность разбить одну большую таблицу на несколько частей, размещенных в разных файловых системах, основываясь на определенной пользователем функции. При определенных условиях это может дать серьёзное увеличение производительности и, кроме того, облегчает масштабирование таблиц.
• Изменено поведение ряда операторов, для обеспечения большей совместимости со стандартом SQL2003.
• Построчная репликация (row-based replication), при которой в бинарный лог будет записываться только информация о реально измененных строках таблицы вместо оригинального (и, возможно, медленного) текста запроса. Построчную репликацию можно использовать только для определенных типов sql-запросов, в терминах MySQL — смешанная репликация (mixed replication).
• Встроенный планировщик периодически запускаемых работ. По синтаксису добавление задачи похоже на добавление триггера к таблице, по идеологии — на crontab.
• Дополнительный набор функций для обработки XML, реализация поддержки XPath.
• Новые средства диагностики проблем и утилиты для анализа производительности. Расширены возможности по управлению содержимым лог-файлов, логи теперь могут быть сохранены и в таблицах general_log и slow_log. Утилита mysqlslap позволяет провести нагрузочное тестирование БД с записью времени реакции на каждый запрос.
• Для упрощения операции обновления подготовлена утилита mysql_upgrade, которая выполнит проверку всех существующих таблиц на предмет совместимости с новой версией, и при необходимости выполнит надлежащие корректировки.
• MySQL Cluster отныне выпущен как отдельный продукт, базирующийся на MySQL 5.1 и хранилище NDBCLUSTER.
• Значительные изменения в работе MySQL Cluster, такие, как, например, возможность хранения табличных данных на диске.
• Возврат к использованию встроенной библиотеки libmysqld, отсутствовавшей в MySQL 5.0.
• API для плагинов, которое позволяет загружать сторонние модули, расширяющие функциональность (например, полнотекстовый поиск), без перезапуска сервера.
• Реализация парсера полнотекстового поиска в виде plug-in.
• Новый тип таблиц Maria (устойчивый к сбоям клон MyISAM).

Тип таблиц Maria

Maria (начиная с версии 5.2.x — Aria) — расширенная версия хранилища MyISAM, с добавлением средств сохранения целостности данных после краха.
Основные достоинства Maria:

• В случае краха производится откат результатов выполнения текущей операции или возврат в состояние до команды LOCK TABLES. Реализация через ведение лога операций.
• Возможность восстановления состояния из любой точки в журнале операций, включая поддержку CREATE/DROP/RENAME/TRUNCATE. Может быть использовано для создания инкрементальных резервных копий, через периодическое копирование журнала операций.
• Поддержка всех форматов столбцов MyISAM, расширена новым форматом «rows-in-block», использующим страничный способ хранения данных, при котором данные в столбцах могут кэшироваться.
• В будущем будет реализовано два режима: транзакционный и без отражения в журнале транзакций, для некритичных данных.
• Размер страницы данных равен 8Кб (в MyISAM 1Кб), что позволяет достичь более высокой производительности для индексов по полям фиксированного размера, но медленнее в случае индексирования ключей переменной длины.

MySQL 5.5

Ветка MySQL 5.5 базируется на невыпущенной серии MySQL 5.4 и содержит ряд значительных улучшений, связанных с повышением масштабируемости и производительности, среди которых:
• Использование по умолчанию движка InnoDB.
• Поддержка полусинхронного (semi-synchronous) механизма репликации, основанного на патчах к InnoDB от компании Google.
• Улучшение функций по секционированию данных. Расширенный синтаксис для разбиения больших таблиц на несколько частей, размещенных в файловых системах (partitioning). Добавлены операции RANGE, LIST и метод оптимизации «partition pruning».
• Новый механизм оптимизации вложенных запросов и JOIN-операций.
• Переработана система внутренних блокировок.
• Интегрированы патчи Google с оптимизацией работы InnoDB на процессорах с большим количеством ядер.

Версия MySQL 6.0 была заморожена на стадии альфа-тестирования. Первоначально было принято решение о создании версии 5.2, вскоре эта версия была переименована в 6.0. Однако, позже информация о MySQL 6.0 исчезла с сайта, а разработчики сосредоточились на версии 5.5 и следующей за ней версии 5.6.
Одним из основных нововведений версии 6.0 планировался новый тип таблиц Falcon, разработанный в качестве потенциальной замены для InnoDB компании Innobase, приобретённой компанией Oracle. В связи с приобретением в 2010 году Sun Microsystems тем же Oracle, судьба Falcon остаётся под вопросом.

Максимальный размер таблиц в MySQL 3.22 до 4 ГБ, в последующих версиях максимальный размер до 8 млн ТБ (263 байт).
Размер таблицы ограничен её типом. В общем случае тип MyISAM ограничен предельным размером файла в файловой системе операционной системы. Например в NTFS этот размер теоретически может быть до 32 эксабайт. В случае InnoDB одна таблица может храниться в нескольких файлах, представляющих единое табличное пространство. Размер последнего может достигать 64 терабайт.

В отличие от MyISAM в InnoDB имеется значительное ограничение на количество столбцов, которое можно добавить в одну таблицу. Размер страницы памяти по умолчанию составляет 16 килобайт, из которых под данные отведено 8123 байта. Размер указателя на динамические поля составляет 20 байт. Таким образом, в случае использования динамического формата строки (ROW_FORMAT=DYNAMIC), одна таблица может вместить максимум 409 столбцов типа blob или text.

Начиная с версии 4.1 в СУБД MySQL внедрена новая система кодировок и сортировок. При использовании кодировки Windows-1251, перед выполнением SQL-инструкций необходимо настроить кодировку соединения при помощи операторов:

SET character_set_client=’cp1251′;
SET character_set_results=’cp1251′;
SET character_set_connection=’cp1251′;

Эти три оператора эквивалентны вызову одного оператора:

SET NAMES ‘cp1251’

Переменная character_set_client устанавливает кодировку данных отправляемых от клиента, переменная character_set_results устанавливает кодировку данных отправляемых клиенту, переменная character_set_connection устанавливает кодировку, в которую преобразуется информация пришедшая от клиента, перед выполнением запроса на сервере.

При использовании Юникода UTF-8 этот оператор выглядит следующим образом:
SET NAMES ‘utf8’

Решение проблем с правами доступа в MySQL: вопросы и ответы

В феврале этого года Света Смирнова (ведущий инженер компании Percona) провела вебинар, посвященный решению проблем с правами доступа в MySQL. Запись и слайды с вебинара доступны здесь. Предлагаем вашему вниманию небольшой обзор самых популярных вопросов на эту тему.

Илон Маск рекомендует:  Почему никто не ссылается на мои статьи Как это исправить

Какие права нужно давать пользователю root@localhost: ALL или Super? Включают ли права All и Super права тоже?

У вас обязательно должен быть пользователь с полными правами. Лучше, если у этого пользователя будет доступ только из localhost. Права ALL включают права SUPER.

У нас есть пользователи, подключающиеся с ноутбуков, которые получают динамические IP-адреса, так что предоставление доступа через имя сервера — наиболее простой способ управления этими пользователями. Можно ли предоставить доступ к базе данных MySQL с помощью имени хоста, а не IP-адреса? Например, myname@mymachine.mydomain.com вместо “myname@10.10.10.10”? Требуется ли для этого кэш хоста/performance_schema?

Да, можно. Но похоже, я недостаточно разъяснила, что такое кэш хоста. Это внутренняя структура, которая всегда доступна и содержит ответы от DNS-сервера. Вы не можете включить его или выключить. До версии 5.6 вы также не могли контролировать его. К примеру, если кэш оказался поврежден, единственное, что вы могли сделать — это перезапустить сервер. В версии 5.6 таблица HOST_CACHE была представлена в Performance Schema. С помощью этой таблицы вы можете проверить содержимое кэша хоста и, при необходимости, очистить его.

Если в таблице пользователей имеется несколько записей, которые соответствуют подключаемому пользователю (например, через шаблоны, имя хоста и IP), по каким правилам MySQL выбирает, какая из них будет использоваться для аутентификации? Будет ли он проверять каждую, пока не получит совпадение пароля?

Нет, mysqld не пытается взломать ваши пароли. Вместо этого он сортирует таблицу пользователей по имени и хосту в порядке убывания, как показано на слайде №37 (стр. 110). Затем он берет первую подходящую строку. То есть, если вы создали пользователей foo@somehost, foo@some% и foo@1.2.3.4, а подключаетесь как foo из somehost, mysqld сначала проверяет имя пользователя, а затем выбирает первую подходящую строку foo@somehost. Если вместо этого вы подключаетесь как foo от someotherhost, mysqld выбирает foo@some%. Хост на базе IP выбирается, либо если mysqld запущен с опцией skip-networking, либо если 1.2.3.4 указывает на хост, чье имя не начинается с «some».

Смешивание хостов на основе IP с хостами на основе имен опасно в ситуациях, когда один и тот же хост может быть принят и как somehost, и как 1.2.3.4. В этом случае, если что-то пойдет не так с кэшем хоста или DNS-сервером, может быть выбрана неправильная запись из таблицы пользователей. Допустим, первоначально у вас было три хоста: uniquehost (который преобразовывается как 1.2.3.4), somehost (который преобразовывается как 4.3.2.1) и someothershost (который преобразовывается как 4.3.2.2). Теперь вы решили переместить uniquehost на машину с IP 1.2.3.5 и использовать IP 1.2.3.4 для хоста с именем someyetanotherhost. В этом случае клиенты с машины с IP 1.2.3.4 будут рассматриваться как foo@some%, а это совсем не то, что вы хотели.

Чтобы продемонстрировать этот случай, я создала двух пользователей и выдала им два разных набора прав:

Затем я изменила файл /etc/hosts и указала адрес 192.168.0.4 для имени Thinkie:

Теперь если я подсоединюсь как sveta, и Thinkie, и 192.168.0.4 будут преобразованы в один и тот же хост:

После этого я изменила файл /etc/hosts и снова привязала Thinkie к 127.0.0.1 (localhost):

Но хост 192.168.0.4 по-прежнему преобразовывается в Thinkie:

Причиной этого является устаревший кеш хоста, что хорошо видно в Performance Schema:

После очистки таблицы host_cache числовой хост преобразовывается так, как я ожидаю:

Какие права требуются не root и не super пользователю, чтобы использовать mysqldump для сброса базы данных и последующего ее восстановления на другом сервере?

Как правило, вы должны иметь права SELECT для всех объектов, которые вы собираетесь сбросить. Если вы сбрасываете представления, у вас также должны быть права SHOW VIEW для запуска SHOW CREATE TABLE. Если вы хотите сбросить хранимые процедуры/события, вам также нужен доступ к ним. Если вы используете опцию —lock-tables или —lock-all-tables, у вас должны быть права LOCK.

Если в MySQL достигнуто значение max_connection, может ли залогиниться root@localhost с правами ALL или пользователь с правами Super?

ALL включает SUPER, так что пользователь с правами ALL сможет залогиниться. Но имейте в виду, что такое соединение может быть только одно, поэтому не выдавайте права SUPER или ALL пользователю приложения.

Можно ли удалить привилегию на более низком уровне? Другими словами, разрешить выбирать и удалять на уровне базы данных, но запретить удаление для конкретной таблицы? Или привилегии можно только добавлять?

Нет, MySQL отклонит такой запрос:

Каким образом можно организовать пользовательские роли… в виде группы грантов для конкретной роли?

У вас есть несколько вариантов:

  1. Использовать MariaDB 10.0.5 или новее. Вы можете почитать о поддержке ролей в MariaDB здесь.
  2. Использовать MySQL 8.0. Почитать о ролях в MySQL 8.0 можно здесь.
  3. С помощью MySQL 5.7: имитировать роли так, как я показала на слайде 19 (стр. 53-60).
  4. С помощью MySQL 5.5 и 5.6: использовать тот же метод, что на слайдах, но применить плагин кастомной аутентификации, поддерживающий прокси-пользователей.
  5. Всегда: создать шаблон с правами, назначить права для каждого пользователя вручную.

Как бы вы мигрировали моделирование ролей с прокси-пользователями на фактические роли в MySQL 8.x?

Я бы удалила прокси-пользователя и создала роль с теми же правами, а затем назначила прокси-пользователю эту новую роль вместо PROXY.

Существует ли плагин для интеграции Active Directory и MySQL, чтобы использовать группы Active Directory?

Существует коммерческий плагин аутентификации Windows Authentication Plugin, доступный в версиях 5.5 и новее. Вы также можете использовать плагин аутентификации с открытым исходным кодом Percona PAM authentication plugin и подключить его к Active Directory так же, как это делается для LDAP. Есть статья, в которой описывается, как это сделать, но я сама никогда не использовала этот метод.

Можно ли использовать централизованную аутентификацию в MySQL?

Да, с помощью плагина PAM. Есть инструкции для LDAP и Active Directory. Вы можете использовать аналогичные методы для установки других видов аутентификации, таких как Kerberos.

Друзья, если работа с MySQL является для вас ежедневной задачей, обязательно приезжайте к нам на PG Day’17 Russia. Света Смирнова, Петр Зайцев и другие специалисты компании Percona готовят для вас увлекательные доклады и мастер-классы об устройстве и функционировании MySQL в рамках секции, посвященной базам данных с открытым исходным кодом.

Oracle MySQL

Скачать прайс-лист Adobe Systems

Программное обеспечение Oracle MySQL – это наиболее известная и популярная в мире база данных с открытым исходным кодом. Система управления базами данных Oracle MySQL позволяет экономично предоставлять надежные, высокопроизводительные и масштабируемые web-приложения и встроенные приложения базы данных. Возможности и технологии СУБД Oracle MySQL используют более 2000 независимых разработчиков ПО и оборудования.

Преимущества Oracle MySQL:

  • Простое использование – загрузка и полная установка занимают не более 15 минут.
  • Низкая совокупная стоимость владения – развертывание СУБД MySQL для критически важных приложений обеспечивает существенную экономию.
  • Масштабируемость и производительность – соответствие требованиям к масштабируемости и производительности наиболее загруженных web-сайтов и ресурсоемких приложений.
  • Техническая поддержка – поддержка Oracle Premier Support позволяет сократить общие затраты и риски при использовании продуктов MySQL.

Выпуски Oracle MySQL:

  • MySQL Enterprise Edition – всеобъемлющая и полнофункциональная редакция, предоставляющая доступ к передовому инструментарию, средствам управления и круглосуточной техподдержке. Enterprise Edition позволяет достигать максимальной масштабируемости, безопасности и надежности СУБД MySQL. Компонент MySQL Enterprise Monitor упрощает администрирование и мониторинг баз данных, а модули MySQL Enterprise Security и MySQL Enterprise Audit обеспечивают соответствие принятым стандартам.
  • MySQL Standard Edition – версия для доставки высокопроизводительных и масштабируемых программ обработки транзакций в режиме онлайн (OLTP). Данная редакция MySQL отличается простотой использования, высокой производительностью и надежностью. Standard Edition включает в себя подсистему InnoDB и компонент MySQL Replication.
  • MySQL Classic Edition – редакция только для независимых поставщиков ПО, производителей оборудования и VAR-реселлеров, позволяющая им встраивать базу данных MySQL в свои коммерческие продукты. Версия Classic, предлагающая встроенную базу данных, оптимальна для разработчиков приложений, использующих механизм хранения MyISAM.
  • MySQL Cluster – ACID-совместимая транзакционная база данных реального времени с открытым исходным кодом и функцией «авто-шардинга». Продукт не имеет «одиночной уязвимой точки», т. е. компонентов, отказ каждого из которых приводит к отказу всей системы. База данных MySQL Cluster разработана для следующего поколения облачных, социальных, мобильных и web-приложений.
  • MySQL Embedded – версия для независимых разработчиков ПО и оборудования. Это полнофункциональная, не требующая администрирования база данных, которую используют свыше 3000 ISV-, OEM- и VAR-компаний, чтобы сделать свои продукты более конкурентоспособными и эффективными.

Типы лицензий для СУБД Oracle MySQL

Система управления базами данных MySQL предлагает двойное лицензирование. Продукт распространяется по бесплатной или по коммерческой лицензии.

Бесплатное использование MySQL регламентируется лицензией GPL (GNU General Public License), в которой указаны условия работы с ПО в различных ситуациях. В соответствии с лицензией GPL, каждый пользователь может получить, задействовать и модифицировать исходный код. Однако если какая-либо программа включает исходные коды MySQL, то она также должна распространяться по лицензии GPL.

Если работа в рамках GPL не устраивает, или планируется встраивание MySQL кода в коммерческое приложение, то необходимо приобрести бессрочную коммерческую лицензию. При покупке коммерческой лицензии MySQL не используется под лицензией GPL, несмотря на то, что физически это тот же самый код. Для каждой инсталляции ПО MySQL требуется отдельная коммерческая лицензия. Продукт лицензируется на сервер, стоимость зависит от количества сокетов. Клиентские подключения лицензировать не нужно.

Коммерческая лицензия на ПО MySQL необходима в следующих случаях:

В программе заказчика используется любой GPL-код из ПО MySQL, но заказчик не желает, чтобы готовый продукт подпадал под действие GPL. Например, продукт разрабатывается как коммерческий, или существуют иные причины не открывать добавленный программный код.

При распространении приложения, не защищенного лицензией GPL, предназначенного для работы исключительно с ПО MySQL и поставляемого вместе с ним.

Если необходимо распространять ПО MySQL без предоставления исходного кода, как того требует лицензия GPL.

Техническая поддержка

Стоимость техподдержки на коммерческие лицензии составляет 19% от цены продукта.

Заказчики, использующие MySQL по лицензии GPL, могут приобрести техническую поддержку (MySQL Subscription) и получиать тот же уровень сервиса, что и пользователи коммерческих лицензий с оплаченной техподдержкой. Стоимость технической поддержки зависит от редакции и количества сокетов на сервере.

✅ Купите ПО Базы данных от компании Oracle Corporation на официальном сайте

✅ Лицензии на Базы данных от компании Oracle Corporation по минимальной цене

✅ Базы данных, Oracle Corporation, лицензионное программное обеспечение купите в Москве и других городах России

Commercial License for OEMs, ISVs and VARs

Updated July, 2010

MySQL Commercial License for OEMs, ISVs and VARs

Oracle provides its MySQL database server and MySQL Client Libraries under a dual license model designed to meet the development and distribution needs of both commercial distributors (such as OEMs, ISVs and VARs) and open source projects.

For OEMs, ISVs, VARs and Other Distributors of Commercial Applications:

OEMs (Original Equipment Manufacturers), ISVs (Independent Software Vendors), VARs (Value Added Resellers) and other distributors that combine and distribute commercially licensed software with MySQL software and do not wish to distribute the source code for the commercially licensed software under version 2 of the GNU General Public License (the «GPL») must enter into a commercial license agreement with Oracle.

For Open Source Projects and Other Developers of Open Source Applications:

For developers of Free Open Source Software («FOSS») applications under the GPL that want to combine and distribute those FOSS applications with MySQL software, Oracle’s MySQL open source software licensed under the GPL is the best option.

For developers and distributors of open source software under a FOSS license other than the GPL, Oracle makes its GPL-licensed MySQL Client Libraries available under a FOSS Exception that enables use of the those MySQL Client Libraries under certain conditions without causing the entire derivative work to be subject to the GPL.

  • Q1: As a commercial OEM, ISV or VAR, I have basic questions about the GPL. Where can I find more information?
  • Q2: As a commercial OEM, ISV or VAR, I have questions about how to comply with the terms of the GPL. Where can I find more information?
  • Q3: As a commercial OEM, ISV or VAR, when should I purchase a commercial license for MySQL software?
  • Q4: What is Oracle’s dual license model for MySQL software?
  • Q5: What open source licensing options does Oracle offer for its MySQL software?
  • Q6: What is Oracle’s commercial license for MySQL software?
  • Q7: If I have more questions, who should I contact?

Q1: As a commercial OEM, ISV or VAR, I have basic questions about the GPL. Where can I find more information? A: Go to the Free Software Foundation’s website to read the GPL. The Free Software Foundation also provides a detailed FAQ on the GPL. Q2: As a commercial OEM, ISV or VAR, I have questions about how to comply with the terms of the GPL. Where can I find more information? A: Reading the GPL itself is the best place to start. Go to the Free Software Foundation’s website to read the GPL. The Software Freedom Law Center has also created «A Practical Guide to GPL Compliance» with its explanation of the GPL’s requirements. Q3: As a commercial OEM, ISV or VAR, when should I purchase a commercial license for MySQL software? A: OEMs, ISVs and VARs that want the benefits of embedding commercial binaries of MySQL software in their commercial applications but do not want to be subject to the GPL and do not want to release the source code for their proprietary applications should purchase a commercial license from Oracle. Purchasing a commercial license means that the GPL does not apply, and a commercial license includes the assurances that distributors typically find in commercial distribution agreements. Q4: What is Oracle’s dual license model for MySQL software? A: Oracle makes its MySQL database server and MySQL Client Libraries available under both the GPL and a commercial license. As a result, developers who use or distribute open source applications under the GPL can use the GPL-licensed MySQL software, and OEMs, ISVs and VARs that do not want to combine or distribute the MySQL software with their own commercial software under a GPL license can purchase a commercial license. Q5: What open source licensing options does Oracle offer for its MySQL software? A: Oracle makes its MySQL database server and MySQL Client Libraries available under the GPLv2, plus an additional permission for included software under other licenses.

For the MySQL Client Libraries, Oracle adds the further additional permission of the Universal FOSS Exception, allowing a qualifying FOSS application to use them without subjecting the entirety of the application to the reciprocal license requirement of the GPLv2. (See the License Information User Manual for each MySQL related download for license information specific to that distribution, including the terms and conditions of the GPLv2, the additional permission for included software under separate licenses, and the Universal FOSS Exception.) Q6: What is Oracle’s commercial license for MySQL software? A: Oracle offers a commercial license for all of its MySQL software that is embedded in or bundled with another application. The commercial license allows OEMs, ISVs and VARs to distribute commercial binaries of MySQL software with their own commercial software without subjecting that software to the GPL and its requirement to distribute source code. Q7: If I have more questions, whom should I contact? A: For more information, please contact the MySQL OEM sales team.

Является ли законным использование MySQL в коммерческой среде?

Я не буду выпускать исходный код программного обеспечения, и это будет коммерческое приложение. Могу ли я использовать MySQL, не платя никакой платы за MySQL? если это незаконно, любая альтернативная база данных предлагает?

Да, и вам не нужно выпускать исходный код проекта (но вам нужно выпустить любые изменения, которые вы вносите в сам MySQL (только те, которые не являются всей программой), если вы также выпускаете свой проект в двоичной форме, содержащей измененный MySQL)

В более простых терминах, если вы изменяете MySQL, и эти модификации в конечном итоге распространяются в двоичной форме, вы должны публично опубликовать вышеупомянутые изменения.

MySQL сам по себе является открытым исходным кодом и может использоваться как отдельный продукт в коммерческой среде. Если вы используете mySQL на веб-сервере, вы можете сделать это для любых целей, коммерческих или нет. Если вы запустите сайт, на котором используется mySQL, вам не нужно будет выпускать какой-либо из ваших кодов. Вам будет хорошо.

mySQL имеет корпоративные лицензии с (я думаю) другой базой кода и премиальной поддержкой со стороны Sun, но это совершенно необязательно.

Существуют ограничения на перераспределение mySQL в закрытом исходном продукте и связь с mySQL-библиотеками, как было указано в другом комментарии. Что касается перераспределения:

OEM-производители, ISV, VAR и другие дистрибьюторов, которые объединяют и распространять коммерчески лицензированные программного обеспечения с программным обеспечением MySQL и не хотите распространять исходный код для коммерчески лицензированного программного обеспечения в соответствии со второй версией GNU General Публичная лицензия ( «GPL» ) должна вводить в коммерческое лицензионное соглашение с Солнцем.

если вы хотите перераспределить mySQL вместе с коммерческим продуктом, проверьте юридическую страницу . Я думаю, что большинство компаний обошли это, установив сервер mySQL отдельно.

GPL и привязка к клиентским библиотекам

Я не знаю, что тот факт, что GPL (лицензия mySQL распространяется) запрещает связывание с программным обеспечением с закрытым исходным кодом для приложений, которые напрямую не связаны с mySQL, но поставляются с клиентскими библиотеками mySQL. Должны ли они быть Open Source? Если кто-то хотел бы пролить свет на это, в отдельном ответе или комментарии, мне было бы очень интересно.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL