MySQL možno opísať ako systém správy databáz (open-source), všeobecne inštalovaný ako súčasť známeho LAMPA (Linux, Apache, MySQL, Perl/PHP/Python). Aplikuje Structured Query Language (skratka pre SQL) a prevádzkuje relačný model na správu svojich údajov.
Je to najznámejšia technológia v najnovšom ekosystéme veľkých dát. Často známa ako najznámejšia databáza a v súčasnosti efektívne a rozšírené využitie bez ohľadu na výrobu. Je transparentné, že každý, kto sa zaoberá všeobecnými IT alebo podnikovými dátami, by sa mal snažiť aspoň o spoločnú znalosť MySQL.
Každý, kto je nový alebo nie je oboznámený s relačnými systémami, môže vytvoriť výkonné, bezpečné a rýchle systémy na ukladanie údajov MySQL . Programové rozhrania a syntax MySQL sú tiež ideálnymi bránami do obrovského sveta iných známych štruktúrovaných dátových úložísk a dopytovacích jazykov.
Prehľad MySQL
MySQL je zapísané v C++ a C . Je napísaný SQL parser MySQL yacc , ale používa domáci lexikálny analyzátor. MySQL sa implementuje na rôznych systémových platformách, vrátane Tru64, Sanos, SCO UnixWare, SCO OpenServer, SunOS, Symbian, Oracle Solaris, QNX, OS/2 Warp, OpenSolaris, OpenBSD, Novell NetWare, NetBSD, Microsoft Windows, macOS, Linux, IRIX, IBM i, eComStation, ArcaOS, HP-UX, FreeBSD, BSDi a AIX. K dispozícii je aj port MySQL na OpenVMS.
Klientske knižnice a samotný serverový softvér MySQL využívajú distribúciu duálnych licencií. Sú poskytované pod 2. verziou GPL alebo proprietárnou licenciou. Podporu je možné získať s oficiálnou príručkou. Okrem toho je k dispozícii bezplatná podpora v rôznych formách a kanáloch IRC. Oracle umožňuje platenú podporu svojou Produkty MySQL Enterprise . Líšia sa aj rozsahom služieb a cenou. Okrem toho existuje množstvo organizácií tretích strán, ktoré ponúkajú služby a podporu.
MySQL získalo rôzne pozitívne recenzie a títo recenzenti si všimli, že sa „implementuje mimoriadne dobre v rámci priemerného prípadu“ a že „existujú rozhrania pre vývojárov a dokumentácia“. Tiež bol skontrolovaný ako skutočný viacužívateľský, stabilný a rýchly viacvláknový databázový server SQL.
Špecifikácie MySQL
MySQL je relačné
Hlavným faktorom je odlíšenie relačných databáz prostredníctvom iných rozsahov digitálnych úložísk v tom, ako sú údaje spravované na vysokej úrovni. Mnohé databázy, ako napríklad MySQL, obsahujú záznamy vo vysoko kodifikovaných, samostatných a viacnásobných tabuľkách, na rozdiel od jednej všezahrnujúcej kolekcie alebo archívov neštruktúrovaných alebo pološtruktúrovaných dokumentov.
- Umožňuje systémom relačných databáz lepšie využívať akcie, ako je aktualizácia informácií, získavanie údajov alebo komplikovanejšie akcie, ako sú agregácie.
- Nad každým obsahom databázy je špecifikovaný logický model, ktorý špecifikuje napríklad povolené hodnoty v jednom stĺpci, charakteristiky pohľadov a tabuliek alebo ako sú indexy spojené z dvoch rôznych tabuliek.
- Niekoľko relačných modelov je známych z rôznych dôvodov.
- Podporujú používateľov deklaratívnymi a intuitívnymi programovacími jazykmi, v podstate inštruujú databázu, aký výsledok sa v jazyku požaduje.
- Presúva prácu do motorov SQL a RDBMS pre lepšie šetrenie a presadzovanie logických pravidiel hodnotnej pracovnej sily a zdrojov.
Open-source
Každý podnik alebo jednotlivec môže voľne rozširovať, publikovať, upravovať a používať open source kódovú základňu MySQL spoločnosti Oracle. Softvér je zverejnený na GNU GPL (General Public License) .
- Pre kód MySQL, ktorý musí byť zahrnutý alebo integrovaný do komerčnej aplikácie (alebo ak softvér s otvoreným zdrojovým kódom nie je prioritou), si mnohé podniky môžu kúpiť komerčne licencované vydanie od spoločnosti Oracle.
- Tieto alternatívy ponúkajú podnikom dodatočnú flexibilitu pri rozhodovaní o implementácii MySQL .
- Komunitný a verejný charakter verzií s otvoreným zdrojovým kódom obohacuje online kultúru podpory a dokumentácie MySQL a zároveň zaisťuje, že novo vyvinuté alebo trvalé možnosti sa nikdy príliš neodchyľujú od požiadaviek používateľov.
MySQL je kompatibilný
MySQL bol vyvinutý tak, aby bol kompatibilný s inými architektúrami a technológiami, hoci často spolupracoval s webovými službami alebo internetovými aplikáciami. Systém správy relačných databáz beží na každom väčšom výpočtovom prostredí, vrátane operačného systému založeného na Unixe, ako je napr nespočetné množstvo Linuxových distribúcií, Windows a macOS .
The architektúra klient-server z MySQL špecifikuje, že môže podporovať celý rad backendov a rôznych rozhraní programovania. Údaje je možné migrovať pomocou MySQL na jeho vidlice ( MariaDB ) a tiež väčšina ostatných systémov na správu relačných databáz z dôvodu jazykových a architektonických podobností.
- Zavedená migrácia tretích strán a nástroje Oracle ďalej umožňujú MySQL presúvať údaje do a cez obrovskú zbierku bežných úložných systémov, tieto sú však vyvinuté ako cloudové alebo lokálne.
- MySQL je možné použiť v centralizovaných alebo distribuovaných virtualizovaných prostrediach a je dokonca k dispozícii ako knižnice na učenie malých, testovacích aplikácií.
- Široká kompatibilita MySQL s každým iným softvérom a systémom z neho robí vo väčšine prípadov praktický výber systémov správy relačných databáz.
Jednoduché použitie
Možno je tabuľková paradigma najintuitívnejšia a umožňuje väčšiu použiteľnosť, hoci má relačný charakter MySQL a pevné skladovacie štruktúry sa môžu zdať obmedzujúce. V skutočnosti, MySQL robí niekoľko potvrdení na podporu obrovského možného rozsahu dátových štruktúr, cez štandardné, ale bohaté časové typy, dátumové, alfanumerické, numerické a logické až po pokročilejšie geopriestorové alebo JSON dáta.
- Okrem nákladnej kolekcie vstavaných funkcií a jednoduchých dátových typov obsahuje ekosystém MySQL aj celý rad nástrojov, ktoré uľahčujú všetko od správy servera až po analýzu dát a reportovanie.
- Bez ohľadu na zastrešujúcu architektúru systému správy relačných databáz môžu používatelia nájsť aspekt MySQL, ktorý im umožňuje kodifikovať a modelovať údaje tak, ako chcú.
- MySQL zostáva najjednoduchšou databázovou technológiou na používanie a učenie.
Vlastnosti MySQL
MySQL sa poskytuje v dvoch odlišných vydaniach: the proprietárny podnikový server a open-source MySQL Community Server. MySQL Enterprise Server je oddelená proprietárnou sériou rozšírení, ktoré sa inštalujú ako serverové pluginy, ale distribuuje systém číslovania verzie a je vyvinutá pomocou podobnej kódovej základne.
Niektoré hlavné funkcie verzie 5.6 MySQL sú vysvetlené nižšie:
- Podpora viacerých platforiem
- An ANSI SQL 99 široká podmnožina a tiež rozšírenia.
- Uložené procedúry s procedurálnymi jazykmi, ktoré takmer zodpovedajú PSM/SQL.
- Aktualizovateľné zobrazenia
- Kurzory
- Spúšťače
- Informačná schéma
- Online Jazyk definície údajov (skratka pre DDL ), ak použijete InnoDB Storage Engine.
- Schéma výkonu, ktorá zhromažďuje a kombinuje štatistiky o výkone dotazov a vykonávaní servera na účely monitorovania.
- Skupina volieb režimu SQL na riadenie správania za behu, ako je napríklad striktný režim na dodržanie štandardov SQL.
- Body uloženia s transakciami pri použití InnoDB Storage Engine (predvolené). NDB Cluster Storage Engine tiež podporuje transakcie.
- Ukladanie dopytov do vyrovnávacej pamäte
- podpora SSL
- Podvýbery (napr. vnorené SELECTy )
- Zabudovaná podpora pre replikáciu
Virtuálne synchrónne: Samoobslužné skupiny servera MySQL s podporou viacerých správcov možno implementovať pomocou vstavaného doplnku Group Replication alebo Kuchynský klaster .
Obmedzenia MySQL
Pri použití niekoľkých skladovacích motorov iných ako InnoDB (predvolené) , potom MySQL nevyhovuje úplnému štandardu SQL pre niekoľko implementovaných funkcií, ako sú napríklad odkazy na cudzie kľúče. Kontrolné obmedzenia môžu byť tiež analyzované, ale vyhnúť sa im každý ukladací modul pred verziou MySQL 8.0.15.
Spúšťače sú obmedzené na jeden na časovanie/akciu až do verzie 5.7 MySQL, čo znamená, že maximálne jeden spúšťač môže byť špecifikovaný tak, aby sa spustil po operácii, t.j. VLOŽIŤ , a singel predtým VLOŽIŤ na podobnom stole. Pre zobrazenia nebolo možné zadať žiadne spúšťače.
Dňa 19. januára 2038 boli zabudované funkcie databázy MySQL ako napr UNIX_TIMESTAMP vrátiť 0 po 03:14:07 UTC . Nedávno došlo k pokusu o vyriešenie problému, ktorý bol zaradený do interného poradia.
Nasadenie MySQL
MySQL možno nainštalovať a zostaviť manuálne pomocou zdrojového kódu, ale v podstate sa inštaluje pomocou binárneho balíka, pokiaľ nie sú potrebné jedinečné úpravy. Systém správy balíkov dokáže získať a nainštalovať MySQL s minimálnym úsilím, na úpravu nastavení optimalizácie a zabezpečenia vo väčšine distribúcií Linuxu sú často potrebné ďalšie konfigurácie.
Aplikácia s vysokou dostupnosťou
Oracle MySQL poskytuje aplikácie s vysokou dostupnosťou so zmesou nástrojov vrátane MySQL shell a MySQL router . Sú založené na open-source nástrojoch a skupinovej replikácii. MariaDB poskytuje rovnakú ponuku na rozdiel od produktov.
Ako reštartovať server MySQL?
Môžeme použiť príkaz, napr. služba' na vykonávanie bežných operácií, ako je spustenie, zastavenie a reštart servera MySQL v Ubuntu. Najprv sa musíme prihlásiť na náš webový server a zadať jeden z nasledujúcich príkazov.
Na spustenie servera MySQL v Ubuntu môžeme zadať nasledujúci príkaz:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Môžeme zadať nižšie uvedený príkaz na zastavenie servera MySQL v Ubuntu:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Môžeme zadať nižšie uvedený príkaz na reštartovanie servera MySQL v Ubuntu:
$ sudo systemctl restart mysql.service
Môžeme zadať nižšie uvedený príkaz na kontrolu stavu servera MySQL v Ubuntu (či je spustený alebo nie):
$ sudo systemctl status mysql.service