Статьи

MySQL

  1. MySQL 4.0 [ правити | правити код ]
  2. MySQL 4.1 [ правити | правити код ]
  3. MySQL 5.0 [ правити | правити код ]
  4. MySQL 5.1 [ правити | правити код ]
  5. Тип таблиць Maria [ правити | правити код ]
  6. MySQL 5.5 [ правити | правити код ]
  7. MySQL 6.0 [ правити | правити код ]
  8. MySQL 5.7 [ правити | правити код ]
  9. MySQL 8.0 [ правити | правити код ]
  10. Максимальні розміри таблиць [ правити | правити код ]
  11. Проблема з Юникоде [ правити | правити код ]

MySQL (МФА: [Maɪ ˌɛskjuːɛl] ) - вільна реляційна система управління базами даних [7] . Розробка та підтримка сайта MySQL здійснює корпорація Oracle , Що отримала права на торговельну марку разом з поглиненої Sun Microsystems , Яка раніше придбала шведську компанію MySQL AB . Продукт поширюється як під GNU General Public License , Так і під власною комерційною ліцензією. Крім цього, розробники створюють функціональність за замовленням ліцензійних користувачів. Саме завдяки такому замовленню майже в найраніших версіях з'явився механізм реплікації .

MySQL є рішенням для малих і середніх додатків. Входить до складу серверів WAMP , AppServ , LAMP і в портативні збірки серверів Денвер , XAMPP , VertrigoServ . Зазвичай MySQL використовується як сервер, до якого звертаються локальні або видалені клієнти, проте в дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MySQL в автономні програми.

Гнучкість СУБД MySQL забезпечується підтримкою великої кількості типів таблиць: користувачі можуть вибрати як таблиці типу MyISAM , Що підтримують повнотекстовий пошук, так і таблиці InnoDB , Що підтримують транзакції на рівні окремих записів. Більш того, СУБД MySQL поставляється із спеціальним типом таблиць EXAMPLE, що демонструє принципи створення нових типів таблиць. Завдяки відкритій архітектурі і GPL-ліцензуванню, в СУБД MySQL постійно з'являються нові типи таблиць.

26 лютого 2008 року Sun Microsystems придбала MySQL AB за 1 млрд доларів [8] , 27 січня 2010 року Oracle придбала Sun Microsystems за 7,4 млрд доларів [9] і включила MySQL в свою лінійку СУБД [10] .

Спільнотою розробників MySQL створені різні відгалуження коду, такі як Drizzle ( англ. ), OurDelta , Percona Server і MariaDB . Всі ці відгалуження вже існували на момент поглинання компанії Sun корпорацією Oracle.

MySQL виникла як спроба застосувати mSQL до власних розробок компанії: таблицям, для яких використовувалися ISAM - підпрограми низького рівня. В результаті був вироблений новий SQL -інтерфейс, але API -інтерфейс залишився в спадок від mSQL. Звідки походить назва «MySQL» - достеменно невідомо. Розробники дають два варіанти: або тому, що практично всі напрацювання компанії починалися з префікса «My ...» (з англ. - «моє ...»), або на честь дочки Мю ( фін. My) одного з розробників системи Мікаеля Віденіус [11] [12] .

Логотип MySQL у вигляді дельфіна носить ім'я « Sakila ». Він був вибраний з великого списку запропонованих користувачами «імен дельфіна». ім'я « Sakila " було надіслано Open Source -разработчик Ambrose Twebaze .

MySQL має подвійне ліцензування. MySQL може поширюватися відповідно до умов ліцензії GPL . Однак за умовами GPL, якщо яка-небудь програма використовує бібліотеки (або включає в себе інший GPL-код) MySQL, то вона теж повинна розповсюджуватися за ліцензією GPL. Це може розходитися з планами розробників, які не бажають відкривати вихідні тексти своїх програм. Для таких випадків передбачена комерційна ліцензія, яка також забезпечує якісну сервісну підтримку. Для вільного програмного забезпечення Oracle надає окреме виключення з правил, явно дозволяє використання і поширення MySQL разом з ПО, поширюваним під ліцензією з певного Oracle списку. [13]

MySQL портована на велику кількість платформ: AIX , BSDi , FreeBSD , HP-UX , Linux , macOS , 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 і Windows 10 . Існує також порт MySQL до OpenVMS . Важливо відзначити, що на офіційному сайті СУБД для вільного завантаження надаються не тільки вихідні коди, а й відкомпілювалися і оптимізовані під конкретні операційні системи готові виконувані модулі СУБД MySQL.

MySQL має API [14] та конектори для мов Delphi , C , C ++ , Ейфель , Java , Лисп , Perl , PHP , Python , Ruby , Smalltalk , компонентний Паскаль і Tcl , Бібліотеки для мов платформи .NET , А також забезпечує підтримку для ODBC за допомогою ODBC-драйвера MyODBC .

MyODBC є драйвер ODBC (2.50) рівня 0 (з деякими можливостями рівнів 1 і 2) для під'єднання сумісного з ODBC додатки до MySQL. MyODBC працює на всіх системах Microsoft Windows і на більшості платформ Unix .

[15] [16] [17] [18] [19] [20] [21]

  • Перший внутрішній випуск MySQL відбувся 23 травня 1995 [ Джерело не вказано 3513 днів ].
  • Версія для 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.43 від 22.10.2018). [22]
  • Версія 5.7: в розробці (останній реліз - 5.7.24 від 22.10.2018). [23]

MySQL 4.0 [ правити | правити код ]

Незважаючи на те, що версія 4.0 є застарілою, вона все ще має значне поширення [ джерело? ]. Основні можливості цієї версії:

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

MySQL 4.1 [ правити | правити код ]

Рекомендованої версією на 2005 рік є MySQL 4.1, що вийшла 27 жовтня 2004 . Вона містить такі нововведення:

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

MySQL 5.0 [ правити | правити код ]

Версія MySQL 5.0 вийшла 24 жовтня 2005, в цій версії значно розширена функціональність, яка ставить MySQL в один ряд з комерційними СУБД . якщо раніше СУБД MySQL звинувачували в недостатній підтримці стандарту SQL , То з появою п'ятої версії цієї популярної бази даних з'явилася практично повна підтримка стандарту SQL. MySQL 5.0 містить наступні нововведення:

MySQL 5.1 [ правити | правити код ]

Версія MySQL 5.1 продовжує шлях до стандарту SQL: 2003 . MySQL 5.1 містить наступні нововведення [24] [25] .

  • сегментування - можливість розбити одну велику таблицю на кілька частин, розміщених в різних файлових системах, грунтуючись на певній користувачем функції. При певних умовах це може дати серйозне збільшення продуктивності і, крім того, полегшує масштабування таблиць.
  • Змінено поведінку ряду операторів, для забезпечення більшої сумісності зі стандартом 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 [26] .

  • У разі краху проводиться відкат результатів виконання поточної операції або повернення в стан до команди 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 [ правити | правити код ]

Версія 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 5.7 [ правити | правити код ]

Перша версія гілки MySQL 5.7.1 анонсована 23 квітня 2013. Версія MySQL 5.7.8 адаптована для Debian 8 і Ubuntu 15.04. Останній реліз - 5.7.24 від 22.10.2018. [23]

MySQL 8.0 [ правити | правити код ]

Версія 8.0.0 була випущена 12.09.2016, але офіційно придатною до повсюдного використання була версія 8.0.11, випущена 19.04.2018. Остання версія - 8.0.16 (реліз від 25.04.2019) [27]

Максимальні розміри таблиць [ правити | правити код ]

Максимальний розмір таблиць в MySQL 3.22 до 4 гігабайт, в наступних версіях обмежень немає.

Розмір таблиці обмежений її типом. У загальному випадку тип 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';

Ці три оператора еквівалентні викликом одного оператора:

Мінлива character_set_client встановлює кодування даних, що відправляються від клієнта, змінна character_set_results встановлює кодування даних, що відправляються клієнту, змінна character_set_connection встановлює кодування, в яку перетворюється інформація, що прийшла від клієнта, перед виконанням запиту на сервері.

При використанні юникода UTF-8 цей оператор виглядає наступним чином:

Кодування ISO 8859-5 не підтримується.

Проблема з Юникоде [ правити | правити код ]

MySQL не дозволяє коректно застосовувати Регулярні вирази (Оператори REGEXP і RLIKE) на рядках в мультибайтних кодуваннях, наприклад, для Юнікоду (UTF-8) [28] . При необхідності таких операцій доводиться переходити на однобайтові кодування, наприклад російську Win-1251 або KOI-8 .

  • MySQL (МФА:   [Maɪ ˌɛskjuːɛl]   ) -   вільна   реляційна система управління базами даних   [7] на Вікісховища має мультимедійні дані за темою MySQL
  • В. Васвані. MySQL: використання і адміністрування = MySQL Database Usage & Administration. - М.: «Пітер» , 2011. - 368 с. - ISBN 978-5-459-00264-5 .
  • Стів Суерінг, Тім Конверс, Джойс Парк. PHP і MySQL. Біблія програміста, 2-е видання = PHP 6 and MySQL 6 Bible. - М.: «Діалектика» , 2010. - 912 с. - ISBN 978-5-8459-1640-2 .
  • Роберт Шелдон, Джоффрі Мойї. MySQL 5: базовий курс = Beginning MySQL. - М.: «Діалектика» , 2007. - 880 с. - ISBN 978-5-8459-1167-4 .
  • Кузнецов Максим, Сімдянов Ігор. MySQL на прикладах. - СПб .: «БХВ-Петербург» , 2008. - С. 952. - ISBN 978-5-9775-0066-1 .
  • Поль Дюбуа. MySQL, 3-е видання = MySQL, 3ed. - М.: «Вільямс» , 2006. - +1168 с. - ISBN 5-8459-1119-2 .
  • Кузнецов Максим, Сімдянов Ігор. MySQL 5. В оригіналі. - СПб .: «БХВ-Петербург» , 2006. - С. 1024. - ISBN 5-94157-928-4 .
  • Кузнецов Максим, Сімдянов Ігор. Самовчитель MySQL 5. - СПб .: «БХВ-Петербург» , 2006. - С. 560. - ISBN 5-94157-754-0 .

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал