Definicja #
MySQL to relacyjny system zarządzania bazą danych (RDBMS) stworzony pierwotnie przez szwedzką firmę MySQL AB w 1995 roku, następnie przejęty przez Sun Microsystems, a potem Oracle Corporation. Jest wydawany na licencji GPL (Community Edition) oraz komercyjnych licencjach.
Kluczowe cechy MySQL:
- Silniki przechowywania — InnoDB (domyślny, ACID, foreign keys) i MyISAM (szybkie odczyty, brak transakcji)
- Replikacja — master-slave i master-master replikacja dla HA i skalowania odczytów
- Partycjonowanie — poziome partycjonowanie dużych tabel dla wydajności
- Full-text search — wbudowane wyszukiwanie pełnotekstowe (InnoDB i MyISAM)
- JSON support — natywny typ JSON z funkcjami od MySQL 5.7
MySQL jest częścią popularnych stosów: LAMP (Linux, Apache, MySQL, PHP) i MAMP. MariaDB to fork MySQL stworzony przez pierwotnych twórców, będący drop-in replacement z rozszerzonymi funkcjami. Zarządzana wersja chmurowa dostępna jest jako Amazon RDS, Azure Database for MySQL i Google Cloud SQL.
Zastosowania #
- Aplikacje webowe CMS — WordPress, Drupal, Joomla używają MySQL jako domyślnej bazy
- Sklepy internetowe — WooCommerce, Magento i wiele custom e-commerce rozwiązań
- SaaS aplikacje — wiele startupów używa MySQL jako pierwotnej bazy danych produkcyjnej
- Systemy zarządzania treścią i portalach informacyjnych z dużym ruchem odczytu
- Mikroserwisy wymagające lekkiej, łatwej w deploymencie relacyjnej bazy
Ścieżka nauki #
Przed MySQL opanuj podstawy SQL — SELECT z JOINami, INSERT/UPDATE/DELETE, GROUP BY i podzapytania. Ogólne rozumienie relacyjnych baz danych (normalizacja, klucze, transakcje) jest niezbędne.
Na starcie zainstaluj MySQL lokalnie (lub użyj Docker), skonfiguruj MySQL Workbench i naucz się: tworzenia schematów i tabel, typów danych MySQL, tworzenia indeksów i EXPLAIN do analizy zapytań. Poznaj konfigurację replikacji dla środowisk produkcyjnych.
Następnie zgłęb: zaawansowane indeksowanie (composite, covering indexes), optymalizację zapytań, stored procedures i triggers, backup i restore (mysqldump, mysqlpump, XtraBackup). Zaawansowani mogą przestudiować InnoDB internals, konfigurację MySQL dla wysokiej wydajności i migrację do MariaDB lub rozważenie przejścia na PostgreSQL dla złożonych przypadków użycia.
FAQ #
- Czym różni się MySQL od MariaDB?
- MariaDB to fork MySQL stworzony przez pierwotnych twórców po przejęciu przez Oracle. Jest kompatybilny binarnie z MySQL (drop-in replacement), ale dodaje funkcje szybciej i ma bardziej otwartą governance. Wiele dystrybucji Linux domyślnie instaluje MariaDB zamiast MySQL.
- Czy MySQL jest darmowy?
- MySQL Community Edition jest w pełni darmowy na licencji GPL. MySQL Enterprise Edition (z dodatkowymi narzędziami, supportem i backupem) jest płatna. Dla większości projektów Community Edition jest wystarczający.
- Ile zarabia DBA MySQL w Polsce?
- Database Administrator z MySQL zarabia zazwyczaj 10 000-20 000 zł brutto miesięcznie. Wiedza o MySQL jest często oczekiwana jako podstawowa umiejętność backendowców — samodzielnie jest mniejszym wyróżnikiem niż dla PostgreSQL czy Oracle.
- MySQL czy PostgreSQL — co wybrać?
- MySQL jest prostszy w konfiguracji i ma lepsze wsparcie w hostingu współdzielonym. PostgreSQL oferuje bogatszy system typów, lepsze wsparcie dla złożonych zapytań i jest ściślej zgodny ze standardem SQL. Dla nowych projektów PostgreSQL jest często rekomendowanym wyborem przez społeczność, choć MySQL pozostaje bardzo solidną opcją.