MySQL - MySQL

MySQL
Logo MySQL.svg
Mysql-screenshot.PNG
Zrzut ekranu domyślnego banera i monitu wiersza poleceń MySQL
Pierwotny autor (autorzy) MySQL AB
Deweloper(zy) Korporacja Oracle
Pierwsze wydanie 23 maja 1995 ; 26 lat temu ( 23.05.1995 )
Wersja stabilna
8.0.26  Edytuj to na Wikidanych / 20 lipca 2021 ; 2 miesiące temu ( 20 lipca 2021 )
Magazyn
Napisane w C , C++
System operacyjny Linux , Solaris , macOS , Windows , FreeBSD
Dostępne w język angielski
Rodzaj RDBMS
Licencja GPLv2 lub zastrzeżone
Strona internetowa www .mysql .com Edytuj to na Wikidanych

MySQL ( / ˌ m ˌ ɛ s ˌ k JU ɛ l / ) jest open-source system zarządzania relacyjną bazą danych (RDBMS). Jej nazwa jest kombinacją „My”, imienia córki współzałożyciela Michaela Wideniusa , oraz „ SQL ”, skrót od Structured Query Language . Relacyjnej bazy danych organizuje dane do jednej lub więcej tabel danych, w których typy danych mogą być ze sobą powiązane; relacje te pomagają uporządkować dane. SQL to język używany przez programistów do tworzenia, modyfikowania i wyodrębniania danych z relacyjnej bazy danych, a także do kontrolowania dostępu użytkowników do bazy danych. Oprócz relacyjnych baz danych i SQL, RDBMS, taki jak MySQL, współpracuje z systemem operacyjnym w celu implementacji relacyjnej bazy danych w systemie pamięci masowej komputera, zarządza użytkownikami, umożliwia dostęp do sieci i ułatwia testowanie integralności bazy danych oraz tworzenie kopii zapasowych.

MySQL jest darmowym oprogramowaniem o otwartym kodzie źródłowym na warunkach Powszechnej Licencji Publicznej GNU i jest również dostępny na różnych licencjach własnościowych . MySQL był własnością i był sponsorowany przez szwedzką firmę MySQL AB , która została kupiona przez Sun Microsystems (obecnie Oracle Corporation ). W 2010 roku, kiedy Oracle przejęło firmę Sun, Widenius rozwinął projekt MySQL o otwartym kodzie źródłowym, aby utworzyć MariaDB .

MySQL ma autonomicznych klientów, którzy umożliwiają użytkownikom bezpośrednią interakcję z bazą danych MySQL za pomocą SQL, ale częściej MySQL jest używany z innymi programami do wdrażania aplikacji, które wymagają możliwości relacyjnych baz danych. MySQL jest składnikiem stosu oprogramowania aplikacji internetowych LAMP (i innych ), który jest akronimem dla Linux , Apache , MySQL, Perl / PHP / Python . MySQL jest używany przez wiele aplikacji internetowych opartych na bazach danych, w tym Drupal , Joomla , phpBB i WordPress . MySQL jest również używany przez wiele popularnych stron internetowych , w tym Facebook , Flickr , MediaWiki , Twitter i YouTube .

Przegląd

MySQL jest napisany w C i C++ . Jego parser SQL jest napisany w yacc , ale używa domowego analizatora leksykalnego . MySQL działa na wielu platformach systemowych , w tym 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 i Tru64 . Istnieje również port MySQL na OpenVMS .

Samo oprogramowanie serwera MySQL i biblioteki klienckie korzystają z dystrybucji z podwójnym licencjonowaniem . Oferowane są na licencji GPL w wersji 2 lub licencji własnościowej.

Wsparcie można uzyskać z oficjalnej instrukcji. Bezpłatne wsparcie jest dodatkowo dostępne na różnych kanałach IRC i forach. Oracle oferuje płatne wsparcie za pośrednictwem swoich produktów MySQL Enterprise. Różnią się zakresem usług i ceną. Ponadto istnieje szereg organizacji zewnętrznych, które zapewniają wsparcie i usługi.

MySQL otrzymał pozytywne recenzje, a recenzenci zauważyli, że „działa bardzo dobrze w przeciętnym przypadku” i że „interfejsy programistyczne są dostępne, a dokumentacja (nie wspominając o opiniach w prawdziwym świecie za pośrednictwem witryn internetowych i tym podobnych) jest bardzo, bardzo dobry". Został również przetestowany jako "szybki, stabilny i prawdziwy wieloużytkownikowy, wielowątkowy serwer baz danych SQL".

Historia

David Axmark (z lewej) i Michael „Monty” Widenius, założyciele MySQL AB, w 2003 r.

MySQL został stworzony przez szwedzką firmę MySQL AB , założoną przez Szwedów Davida Axmarka , Allana Larssona i Szweda z Finlandii Michaela „Monty” Wideniusa . Pierwotny rozwój MySQL przez Widenius i Axmark rozpoczął się w 1994 roku. Pierwsza wersja MySQL pojawiła się 23 maja 1995 roku. Początkowo została stworzona do użytku osobistego z mSQL opartego na niskopoziomowym języku ISAM , który twórcy uznali za zbyt wolny i nieelastyczny. Stworzyli nowy interfejs SQL , zachowując to samo API, co mSQL. Zachowując spójność API z systemem mSQL, wielu programistów mogło używać MySQL zamiast (zastrzeżonego) poprzednika mSQL.

Kamienie milowe

Dodatkowe kamienie milowe w rozwoju MySQL obejmowały:

  • Pierwsze wydanie wewnętrzne 23 maja 1995 r.
  • Wersja 3.19: koniec 1996, z www.tcx.se
  • Wersja 3.20: styczeń 1997
  • Wersja Windows została wydana 8 stycznia 1998 dla Windows 95 i NT
  • Wersja 3.21: wydanie produkcyjne 1998, z www.mysql.com
  • Wersja 3.22: alfa, beta z 1998 r.
  • Wersja 3.23: beta z czerwca 2000, wydanie produkcyjne 22 stycznia 2001
  • Wersja 4.0: beta z sierpnia 2002, wydanie produkcyjne marzec 2003 ( związki ).
  • Wersja 4.1: beta z czerwca 2004, wydanie produkcyjne październik 2004 ( R-trees i B-trees , podzapytania, przygotowane oświadczenia).
  • Wersja 5.0: beta z marca 2005, wydanie produkcyjne październik 2005 (kursory, procedury składowane, wyzwalacze, widoki, transakcje XA ).
Twórca Federated Storage Engine twierdzi, że „Federated Storage Engine jest mechanizmem pamięci masowej typu proof-of-concept ”, ale główne dystrybucje MySQL w wersji 5.0 zawierały go i domyślnie go włączały. Dokumentacja niektórych niedociągnięć znajduje się w "MySQL Federated Tables: The Missing Manual".
Wersja 5.1 zawierała 20 znanych błędów powodujących awarie i błędne wyniki, oprócz 35 obecnych w wersji 5.0 (prawie wszystkie naprawione w wersji 5.1.51) .
MySQL 5.1 i 6.0-alpha wykazywały słabą wydajność, gdy były używane do hurtowni danych  – częściowo ze względu na niemożność wykorzystania wielu rdzeni procesora do przetwarzania pojedynczego zapytania.
  • Oracle nabył Sun Microsystems w dniu 27 stycznia 2010 r.
  • W dniu, w którym Oracle ogłosiło zakup Sun, Michael „Monty” Widenius rozwinął MySQL, uruchamiając MariaDB , i zabrał ze sobą wielu programistów MySQL.
Geir Høydalsvik, obecny starszy dyrektor ds. rozwoju oprogramowania dla MySQL w Oracle w 2018 r.
  • MySQL Server 5.5 był ogólnie dostępny (stan na grudzień 2010). Ulepszenia i funkcje obejmują:
    • Domyślnym aparatem pamięci masowej jest InnoDB , który obsługuje transakcje i ograniczenia integralności referencyjnej.
    • Ulepszony podsystem I/O InnoDB
    • Ulepszona obsługa SMP
    • Replikacja półsynchroniczna.
    • Instrukcja SIGNAL i RESIGNAL zgodnie ze standardem SQL.
    • Obsługa dodatkowych zestawów znaków Unicode utf16, utf32 i utf8mb4.
    • Nowe opcje partycjonowania zdefiniowanego przez użytkownika.
  • MySQL Server 6.0.11-alpha został ogłoszony 22 maja 2009 jako ostatnie wydanie linii 6.0. Przyszły rozwój serwera MySQL Server wykorzystuje nowy model wydania. Funkcje opracowane dla wersji 6.0 są uwzględniane w przyszłych wydaniach.
  • Ogólna dostępność MySQL 5.6 została ogłoszona w lutym 2013 r. Nowe funkcje obejmowały ulepszenia wydajności w optymalizatorze zapytań , wyższą przepustowość transakcyjną w InnoDB, nowe interfejsy API pamięci podręcznej w stylu NoSQL , ulepszenia partycjonowania dla zapytań i zarządzania bardzo dużymi tabelami, typ kolumny TIMESTAMP, który poprawnie przechowuje milisekundy, ulepszenia replikacji i lepsze monitorowanie wydajności dzięki rozszerzeniu danych dostępnych za pośrednictwem PERFORMANCE_SCHEMA . Silnik pamięci masowej InnoDB zawierał również obsługę wyszukiwania pełnotekstowego i poprawioną wydajność zatwierdzania grupowego.
  • Ogólna dostępność MySQL 5.7 została ogłoszona w październiku 2015 r. Od MySQL 5.7.8, sierpnia 2015 r. MySQL obsługuje natywny typ danych JSON zdefiniowany w RFC 7159.
  • MySQL Server 8.0 został ogłoszony w kwietniu 2018 r., w tym NoSQL Document Store, atomowe i bezpieczne zdania DDL oraz składnia JSON Extended, nowe funkcje, takie jak funkcje tabel JSON, ulepszone sortowanie i częściowe aktualizacje. Poprzednia wersja MySQL Server 8.0.0-dmr (Milestone Release) została ogłoszona 12 września 2016 r.
  • MySQL został uznany za DBMS roku 2019 w rankingu DB-Engine

Historia wydań

Uwolnienie Ogólna dostępność Najnowsza wersja podrzędna Najnowsze wydanie Koniec wsparcia
Stara wersja, nie jest już utrzymywana: 5.1 14 listopada 2008 ; 12 lat temu ( 2008-11-14 ) 5.1.73 2013-12-03 gru 2013
Stara wersja, nie jest już utrzymywana: 5,5 3 grudnia 2010 ; 10 lat temu ( 2010-12-03 ) 5.5.62 2018-10-22 gru 2018
Stara wersja, nie jest już utrzymywana: 5,6 5 lutego 2013 ; 8 lat temu ( 05.02.2013 ) 5.6.51 2021-01-20 lut 2021
Starsza wersja, ale nadal utrzymywana: 5,7 21 października 2015 r .; 5 lat temu ( 2015-10-21 ) 5.7.35 2021-07-20 paź 2023
Aktualna stabilna wersja: 8,0 19 kwietnia 2018 ; 3 lata temu ( 2018-04-19 ) 8.0.26 2021-07-20 kwi 2026
Legenda:
Stara wersja
Starsza wersja, nadal utrzymywana
Ostatnia wersja
Najnowsza wersja zapoznawcza
Przyszłe wydanie

Prace nad wersją 6 zostały wstrzymane po przejęciu Sun Microsystems. Produkt MySQL Cluster używa wersji 7. Podjęto decyzję o przejściu do wersji 8 jako kolejnego głównego numeru wersji.

Spory prawne i przejęcia

W dniu 15 czerwca 2001 r. firma NuSphere pozwała MySQL AB, TcX DataKonsult AB i jej pierwotnych autorów Michaela („Monty”) Wideniusa i Davida Axmarka w Sądzie Okręgowym Stanów Zjednoczonych w Bostonie za „naruszenie umowy, deliktową ingerencję w umowy i relacje ze stronami trzecimi oraz nieuczciwą konkurencję ”.

W 2002 roku MySQL AB pozwała Progress NuSphere w sądzie okręgowym Stanów Zjednoczonych za naruszenie praw autorskich i znaków towarowych . NuSphere rzekomo naruszyło prawa autorskie MySQL AB, łącząc kod na licencji GPL MySQL z tabelą NuSphere Gemini bez zachowania zgodności z licencją. Po wstępnej rozprawie przed sędzią Patti Saris w dniu 27 lutego 2002 r. strony przystąpiły do ​​rozmów ugodowych, które ostatecznie zakończyły się ugodą. Po przesłuchaniu FSF skomentowała, że ​​„sędzia Saris dała jasno do zrozumienia, że ​​uważa GNU GPL za wykonalną i wiążącą licencję”.

W październiku 2005 r. Oracle Corporation nabyła Innobase OY, fińską firmę, która opracowała silnik pamięci masowej InnoDB innej firmy, który umożliwia MySQL dostarczanie takich funkcji, jak transakcje i klucze obce . Po przejęciu w komunikacie prasowym Oracle wspomniano, że umowy, które udostępniają oprogramowanie firmy MySQL AB, będą miały zostać odnowione (i przypuszczalnie renegocjowane) w pewnym okresie 2006 roku. Podczas konferencji MySQL Users Conference w kwietniu 2006 roku MySQL AB wydał wydanie, które potwierdziło, że MySQL AB i Innobase OY zgodziły się na „wieloletnie” przedłużenie swojej umowy licencyjnej.

W lutym 2006 r. firma Oracle Corporation nabyła Sleepycat Software , twórcę Berkeley DB , silnika bazy danych stanowiącego podstawę dla innego silnika pamięci masowej MySQL. Nie przyniosło to większego efektu, ponieważ Berkeley DB nie było powszechnie używane i zostało usunięte (z powodu braku użycia) w MySQL 5.1.12, wersji wcześniejszej niż GA MySQL 5.1 wydanej w październiku 2006 roku.

W styczniu 2008 roku Sun Microsystems kupił MySQL AB za 1 miliard dolarów.

W kwietniu 2009 roku Oracle Corporation zawarła umowę kupna Sun Microsystems, ówczesnego właściciela praw autorskich i znaku towarowego MySQL. Rada dyrektorów firmy Sun jednogłośnie zatwierdziła transakcję. Został on również zatwierdzony przez udziałowców firmy Sun oraz przez rząd Stanów Zjednoczonych 20 sierpnia 2009 r. 14 grudnia 2009 r. firma Oracle zobowiązała się do dalszego ulepszania MySQL, tak jak miało to miejsce przez poprzednie cztery lata.

Jeden z założycieli MySQL AB, Monty Widenius, rozpoczął ruch przeciwko przejęciu przez Oracle MySQL AB, aby „Save MySQL” od Oracle . Petycja ponad 50 000 deweloperów i użytkowników wezwała Komisję Europejską do zablokowania zgody na przejęcie. W tym samym czasie niektórzy liderzy opinii na temat Wolnego Oprogramowania (m.in. Pamela Jones z Groklaw , Jan Wildeboer i Carlo Piana , który był również współdoradcą w procedurze regulacji fuzji) opowiedzieli się za bezwarunkową zgodą na fuzję. W ramach negocjacji z Komisją Europejską firma Oracle zobowiązała się, że serwer MySQL będzie kontynuował co najmniej do 2015 r. strategię podwójnego licencjonowania od dawna stosowaną przez MySQL AB, z dostępnymi wersjami zastrzeżonymi i GPL. Unijny urząd antymonopolowy „naciskał na zbycie MySQL jako warunek zgody na fuzję”. Jednak, jak ujawnił WikiLeaks , Departament Sprawiedliwości USA na wniosek Oracle naciskał na UE, aby zatwierdziła połączenie bezwarunkowo. Komisja Europejska ostatecznie bezwarunkowo zatwierdziła przejęcie przez Oracle firmy MySQL AB w dniu 21 stycznia 2010 r.

W styczniu 2010 roku, przed nabyciem Oracle MySQL AB, Monty Widenius rozpoczął GPL tylko widelcem , MariaDB . MariaDB opiera się na tej samej bazie kodu, co serwer MySQL 5.5 i ma na celu zachowanie zgodności z wersjami dostarczonymi przez Oracle.

Cechy

MySQL jest oferowany w dwóch różnych edycjach: open source MySQL Community Server i zastrzeżony Enterprise Server . MySQL Enterprise Server różni się serią zastrzeżonych rozszerzeń, które instalują się jako wtyczki serwera, ale poza tym dzieli system numerowania wersji i jest zbudowany z tej samej bazy kodu.

Główne funkcje dostępne w MySQL 5.6:

  • Szeroki podzbiór ANSI SQL 99 , a także rozszerzenia
  • Obsługa wielu platform
  • Procedury składowane przy użyciu języka proceduralnego ściśle zgodnego z SQL/PSM
  • Wyzwalacze
  • Kursory
  • Aktualizowane widoki
  • Język definicji danych online (DDL) podczas korzystania z mechanizmu pamięci masowej InnoDB.
  • Schemat informacyjny
  • Schemat wydajności, który zbiera i agreguje statystyki dotyczące wykonania serwera i wydajności zapytań w celu monitorowania.
  • Zestaw opcji trybu SQL do kontrolowania zachowania środowiska wykonawczego , w tym tryb ścisły w celu lepszego przestrzegania standardów SQL.
  • Obsługa rozproszonego przetwarzania transakcji (DTP) X/Open XA ; w ramach tego dwufazowe zatwierdzanie , przy użyciu domyślnego silnika pamięci masowej InnoDB
  • Transakcje z punktami zapisu przy użyciu domyślnego mechanizmu pamięci masowej InnoDB. NDB Cluster Storage Engine obsługuje również transakcje.
  • Zgodność z ACID podczas korzystania z InnoDB i NDB Cluster Storage Engines
  • Obsługa SSL
  • Buforowanie zapytań
  • Pod- wybiera (tj zagnieżdżonych wybiera)
  • Wbudowana obsługa replikacji
    • Replikacja asynchroniczna: master-slave od jednego mastera do wielu slave'ów lub wielu masterów do jednego slave'a
    • Replikacja półsynchroniczna: replikacja master-slave, w której master czeka na replikację
    • Replikacja synchroniczna: Replikacja z wieloma wzorcami jest dostępna w MySQL Cluster .
    • Wirtualne Synchroniczne : Samozarządzane grupy serwerów MySQL z obsługą wielu masterów można wykonać za pomocą: Galera Cluster lub wbudowanej wtyczki Group Replication
  • Indeksowanie i wyszukiwanie pełnotekstowe
  • Wbudowana biblioteka baz danych
  • Obsługa Unicode
  • Partycjonowane tabele z przycinaniem partycji w optymalizatorze
  • Klastrowanie typu „ shared-nothing” przez klaster MySQL
  • Wiele silników pamięci masowej, co pozwala wybrać ten, który jest najbardziej efektywny dla każdej tabeli w aplikacji.
  • Natywne silniki pamięci masowej InnoDB , MyISAM , Merge, Memory (heap), Federated , Archive, CSV , Blackhole, NDB Cluster.
  • Grupowanie zatwierdzeń, zbieranie wielu transakcji z wielu połączeń razem w celu zwiększenia liczby zatwierdzeń na sekundę.

Deweloperzy publikują drobne aktualizacje MySQL Server mniej więcej co dwa miesiące. Źródła można pobrać ze strony MySQL lub z repozytorium MySQL GitHub , oba na licencji GPL.

Ograniczenia

Podczas korzystania z niektórych silników pamięci masowej innych niż domyślne InnoDB, MySQL nie jest zgodny z pełnym standardem SQL dla niektórych zaimplementowanych funkcji, w tym odwołań do kluczy obcych. Ograniczenia sprawdzania są analizowane, ale ignorowane przez wszystkie aparaty pamięci masowej przed wersją MySQL 8.0.15.

Aż do MySQL 5.7 wyzwalacze są ograniczone do jednego na akcję/czas, co oznacza, że ​​można zdefiniować co najwyżej jeden wyzwalacz do wykonania po operacji INSERT i jeden przed INSERT w tej samej tabeli. W widokach nie można zdefiniować wyzwalaczy.

Wbudowane funkcje bazy danych MySQL Like UNIX_TIMESTAMP () zwróci 0 po 03:14:07 UTC na 19 stycznia 2038 . Ostatnio podjęto próbę rozwiązania problemu, który został przypisany do kolejki wewnętrznej.

Rozlokowanie

MySQL można zbudować i zainstalować ręcznie z kodu źródłowego, ale częściej instaluje się go z pakietu binarnego, chyba że wymagane są specjalne dostosowania. W większości dystrybucji Linuksa , system zarządzania pakietami można pobrać i zainstalować MySQL przy minimalnym wysiłku, choć dalsza konfiguracja jest często konieczne, aby dostosować ustawienia zabezpieczeń i optymalizacji.

Pakiet oprogramowania LAMP , wyświetlany tutaj razem z programem Squid .

Chociaż MySQL początkowo był tańszą alternatywą dla mocniejszych, zastrzeżonych baz danych, stopniowo ewoluował, aby wspierać również potrzeby na większą skalę. Jest nadal najczęściej używany w małych i średnich wdrożeniach jednoserwerowych, jako składnik aplikacji internetowej opartej na LAMP lub jako samodzielny serwer bazy danych. Wiele z atrakcyjności MySQL wynika z jego względnej prostoty i łatwości użytkowania, co jest możliwe dzięki ekosystemowi narzędzi open source, takich jak phpMyAdmin . W średnim zakresie MySQL można skalować, wdrażając go na mocniejszym sprzęcie, takim jak wieloprocesorowy serwer z gigabajtami pamięci.

Istnieją jednak ograniczenia co do tego, jak daleko można skalować wydajność na pojedynczym serwerze („skalowanie w górę”), więc w przypadku większych skal wymagane są wieloserwerowe wdrożenia MySQL („skalowanie w górę”), aby zapewnić lepszą wydajność i niezawodność. Typowa konfiguracja zaawansowana może obejmować potężną bazę danych master, która obsługuje operacje zapisu danych i jest replikowana do wielu urządzeń podrzędnych obsługujących wszystkie operacje odczytu. Serwer główny nieustannie przesyła zdarzenia binlogu do podłączonych urządzeń podrzędnych, dzięki czemu w przypadku awarii urządzenie podrzędne może zostać awansowane na nowego nadrzędnego, co minimalizuje przestoje. Dalszą poprawę wydajności można osiągnąć, buforując wyniki zapytań bazy danych w pamięci za pomocą memcached lub dzieląc bazę danych na mniejsze fragmenty zwane odłamkami, które można rozłożyć na wiele rozproszonych klastrów serwerów.

Oprogramowanie o wysokiej dostępności

Oracle MySQL oferuje rozwiązanie o wysokiej dostępności z zestawem narzędzi, w tym routerem MySQL i powłoką MySQL. Opierają się na replikacji grupowej, narzędziach typu open source.

MariaDB oferuje podobną ofertę w zakresie produktów.

Wdrożenie w chmurze

MySQL można również uruchomić na platformach przetwarzania w chmurze , takich jak Microsoft Azure , Amazon EC2 , Oracle Cloud Infrastructure . Niektóre typowe modele wdrażania MySQL w chmurze to:

Obraz maszyny wirtualnej
W tej implementacji użytkownicy chmury mogą przesłać własny obraz maszyny z zainstalowanym MySQL lub użyć gotowego obrazu maszyny ze zoptymalizowaną instalacją MySQL, takiego jak ten dostarczony przez Amazon EC2.
MySQL jako usługa
Niektóre platformy chmurowe oferują MySQL „jako usługę”. W tej konfiguracji właściciele aplikacji nie muszą samodzielnie instalować i utrzymywać bazy danych MySQL. Zamiast tego dostawca usług bazy danych bierze odpowiedzialność za instalację i konserwację bazy danych, a właściciele aplikacji płacą zgodnie z ich użytkowaniem. Godne uwagi usługi MySQL oparte na chmurze to usługa relacyjnej bazy danych Amazon ; Oracle MySQL Cloud Service , Azure Database for MySQL , Rackspace ; chmura konwergentna HP ; Heroku i Jelastic . W tym modelu dostawca usług bazy danych bierze odpowiedzialność za utrzymanie hosta i bazy danych.

Interfejsy użytkownika

Graficzne interfejsy użytkownika

Graficzny interfejs użytkownika (GUI) to rodzaj interfejsu, który pozwala użytkownikom na interakcję z urządzeniami elektronicznymi lub programów poprzez ikony graficzne oraz wskaźników wizualnych takich jak notacji wtórnym, w przeciwieństwie do interfejsów tekstowych, wpisywanych poleceń lub nawigacji etykiety tekstowej.

Dostępne są zastrzeżone i bezpłatne graficzne aplikacje administracyjne innych firm (lub „front-endy”), które integrują się z MySQL i umożliwiają użytkownikom wizualną pracę ze strukturą bazy danych i danymi.

MySQL Workbench działający na macOS

Środowisko pracy MySQL

MySQL Workbench to zintegrowane środowisko dla MySQL. Został opracowany przez MySQL AB i umożliwia użytkownikom graficzne administrowanie bazami danych MySQL oraz wizualne projektowanie struktur baz danych.

MySQL Workbench jest dostępny w dwóch edycjach, regularnej bezpłatnej Community Edition o otwartym kodzie źródłowym, którą można pobrać ze strony internetowej MySQL, oraz zastrzeżonej Standard Edition, która rozszerza i ulepsza zestaw funkcji Community Edition.

Inne narzędzia GUI

Interfejsy wiersza poleceń

Interfejs wiersza poleceń jest sposobem interakcji z programem komputerowym, gdzie kwestie Polecenia użytkownika do programu poprzez wpisywanie w kolejnych wierszy tekstu (linii poleceń). MySQL jest dostarczany z wieloma narzędziami wiersza poleceń , z których głównym interfejsem jest klient mysql .

MySQL Utilities to zestaw narzędzi zaprojektowanych do wykonywania typowych zadań konserwacyjnych i administracyjnych. Narzędzia te, pierwotnie zawarte jako część środowiska MySQL Workbench, są samodzielnym pobraniem dostępnym w firmie Oracle.

Percona Toolkit to wieloplatformowy zestaw narzędzi dla MySQL, opracowany w Perlu . Percona Toolkit może służyć do sprawdzania, czy replikacja działa poprawnie, naprawiania uszkodzonych danych, automatyzacji powtarzających się zadań i przyspieszania serwerów. Percona Toolkit jest dołączony do kilku dystrybucji Linuksa, takich jak CentOS i Debian , a pakiety są również dostępne dla Fedory i Ubuntu . Percona Toolkit został pierwotnie opracowany jako Maatkit, ale od końca 2011 r. Maatkit nie jest już rozwijany.

Powłoka MySQL to narzędzie do interaktywnego użytkowania i administrowania bazą danych MySQL. Obsługuje tryby JavaScript, Python lub SQL i może być używany do celów administracyjnych i dostępu.

Interfejsy programowania aplikacji

Wiele języków programowania z interfejsami API specyficznymi dla języka zawiera biblioteki umożliwiające dostęp do baz danych MySQL. Należą do nich MySQL Connector/Net dla języków .NET/CLI oraz sterownik JDBC dla języka Java.

Ponadto interfejs ODBC o nazwie MySQL Connector/ODBC umożliwia dodatkowym językom programowania obsługującym interfejs ODBC komunikację z bazą danych MySQL, taką jak ASP lub ColdFusion . HTSQL  - URL -na metodę także statki zapytania z adapterem MySQL, umożliwiając bezpośrednią interakcję pomiędzy bazą danych MySQL i dowolnego klienta WWW poprzez strukturyzowanych adresów URL. Istnieją inne sterowniki dla języków takich jak Python czy Node.js .

Widły projektowe

Różnorodność MySQL wideł istnieje, w tym poniżej.

Aktualny

MariaDB
MariaDB to opracowany przez społeczność widelec systemu zarządzania relacyjnymi bazami danych MySQL, który ma pozostać wolny na licencji GNU GPL. Fork był prowadzony przez pierwotnych programistów MySQL, którzy rozwidlali go z powodu obaw związanych z jego przejęciem przez Oracle.
Serwer Percona dla MySQL
Percona Server for MySQL , rozwidlony przez Percona , ma na celu zachowanie ścisłej kompatybilności z oficjalnymi wydaniami MySQL. W Percona Server for MySQL znajduje się również XtraDB , rozwidlenie Percony dla InnoDB Storage Engine .

Opuszczony

Mżawka
Drizzle był darmowym oprogramowaniem/open source relacyjnym systemem zarządzania bazami danych (DBMS), który został rozwidlony z nieistniejącej już gałęzi programistycznej 6.0 systemu MySQL DBMS. Podobnie jak MySQL, Drizzle miał architekturę klient/serwer i używa SQL jako podstawowego języka poleceń . Drizzle był rozpowszechniany na licencji GNU General Public License (GPL) w wersji 2 i 3 wraz z częściami, w tym sterownikami protokołu i wiadomościami replikacji na licencji BSD .
WebScaleSQL
WebScaleSQL była gałęzią oprogramowania MySQL 5.6 i została ogłoszona 27 marca 2014 r. przez Facebooka, Google, LinkedIn i Twittera jako wspólne przedsięwzięcie mające na celu zapewnienie scentralizowanej struktury programistycznej w celu rozszerzenia MySQL o nowe funkcje charakterystyczne dla jego wdrożeń na dużą skalę, takie jak budowanie dużych replikowanych baz danych działających na farmach serwerów. W ten sposób WebScaleSQL otworzył drogę do deduplikacji wysiłków, jakie każda firma włożyła w utrzymanie własnej gałęzi MySQL, oraz do zgromadzenia większej liczby programistów. Łącząc wysiłki tych firm i wprowadzając różne zmiany i nowe funkcje do MySQL, WebScaleSQL miał na celu wsparcie wdrażania MySQL w środowiskach dużej skali. Kod źródłowy projektu jest objęty licencją w wersji 2 GNU General Public License i jest hostowany na GitHub .
NaszaDelta
Dystrybucja OurDelta, stworzona przez australijską firmę Open Query (później przejętą przez Catalyst IT Australia), miała dwie wersje: 5.0, która była oparta na MySQL oraz 5.1, która była oparta na MariaDB. Zawierała poprawki opracowane przez Open Query i innych znaczących członków społeczności MySQL, w tym Jeremy'ego Cole'a i Google. Gdy poprawki zostały włączone do głównej linii MariaDB, cele OurDelta zostały osiągnięte, a OurDelta przekazał swój łańcuch narzędzi do budowania i pakowania do Monty Program (obecnie MariaDB Corp).

Zobacz też

Uwagi

Bibliografia

Zewnętrzne linki

Multimedia związane z MySQL w Wikimedia Commons