MySQL

MySQL je relační databázový systém, který vyvinula švédská společnost MySQL AB (nyní vlastněná korporací Oracle). Je známý svou vysokou rychlostí, spolehlivostí a snadným použitím. MySQL ukládá data do tabulek, které jsou navzájem propojeny pomocí relací, což umožňuje efektivní organizaci a vyhledávání informací.

Díky své open-source povaze a nulovým nákladům na licenci (pro většinu použití) se MySQL stalo standardem pro webové aplikace, jako jsou WordPress, Facebook, YouTube nebo Twitter.

Klíčové vlastnosti

Relační model: Data jsou organizována v tabulkách se striktně definovanými sloupci.

Klient-server architektura: Databáze běží jako server, ke kterému se připojují různí klienti (aplikace, webové servery, administrátorské nástroje).

Podpora úložišť (Storage Engines): MySQL umožňuje zvolit různé mechanismy ukládání dat:

InnoDB: Moderní standard, podporuje transakce (ACID) a cizí klíče.

MyISAM: Starší formát, velmi rychlý pro čtení, ale nepodporuje transakce.

Škálovatelnost: Dokáže obsluhovat malé blogy i obrovské podnikové systémy s miliardami záznamů.

Architektura a fungování

MySQL zpracovává dotazy v několika krocích:

1. **Connection Manager:** Ověří identitu uživatele a přidělí mu vlákno.
2. **Query Optimizer:** Analyzuje [[sql|SQL]] dotaz a vybere nejrychlejší cestu k datům (např. zda použije index).
3. **Execution Engine:** Provede samotnou operaci nad daty.
4. **Storage Engine:** Fyzicky zapíše nebo přečte data z disku.

MySQL v ekosystému LAMP

MySQL je klíčovou součástí „zlatého standardu“ webového vývoje:

Linux (Operační systém)

Apache (Webový server)

MySQL (Databáze)

PHP/Python (Programovací jazyk)

Tato kombinace umožnila masový rozvoj dynamických webových stránek koncem 90. let.

MariaDB: Svobodná větev (Fork)

Poté, co MySQL koupila společnost Oracle, vznikly obavy o budoucí směřování projektu. Původní zakladatel MySQL proto vytvořil MariaDB – „čistě“ komunitní větev, která je s MySQL plně kompatibilní. Mnoho linuxových distribucí dnes místo původního MySQL nabízí právě MariaDB.

Výhody a nevýhody

Výhody	Nevýhody
Rychlost: Optimalizováno pro bleskové čtení dat.	Omezení Oracle: Některé pokročilé funkce jsou pouze v placené verzi.
Komunita: Obrovské množství návodů, fór a hotových řešení.	Komplexita: Náročné na ladění při extrémně vysoké zátěži.
Bezpečnost: Silné mechanismy šifrování a správy uživatelů.	Striktnost: Vyžaduje pevné schéma (na rozdíl od NoSQL).

Administrační nástroje

Pro správu MySQL se nejčastěji používají:

phpMyAdmin: Webové rozhraní pro snadnou správu přes prohlížeč.

MySQL Workbench: Profesionální vizuální nástroj pro návrh schémat a správu serverů.

Příkazový řádek (CLI): Pro rychlou práci a automatizaci skriptů.

Související pojmy: SQL, RDBMS, InnoDB, MariaDB, LAMP, CRUD, SQL Injection, Databáze.