🎯 Cele lekcji

💻

1. Wymagania systemowe

ParametrMySQL 8.0MariaDB 10.11 LTS
System operacyjnyWindows 7+, Linux, macOSWindows, Linux, macOS, FreeBSD
RAM (minimum)512 MB (zalecane: 2 GB+)512 MB (zalecane: 1 GB+)
Dysk (minimum)~500 MB dla silnika~400 MB dla silnika
Procesorx86-64 (64-bit)x86-64 lub ARM
Domyślny port33063306
MySQL vs MariaDB: MariaDB jest "drop-in replacement" dla MySQL — te same polecenia SQL, ten sam port, taki sam format danych. Na większości systemów możesz używać zamiennie.
🪟

2. Instalacja w Windows (MySQL Installer MSI)

  1. Pobierz MySQL Installer ze strony dev.mysql.com/downloads/installer (plik .msi)
  2. Uruchom instalator — wybierz typ instalacji: Developer Default lub Server only
  3. Wybierz komponenty: MySQL Server, MySQL Workbench (opcjonalnie)
  4. Konfiguracja serwera:
    • Type: Development Computer
    • Port: 3306 (domyślny)
    • Authentication: Strong Password Encryption (MySQL 8)
  5. Ustaw hasło dla użytkownika root — zapamiętaj je!
  6. Windows Service: zaznacz "Start the MySQL Server at System Startup"
  7. Kliknij Execute → instalacja gotowa
Hasło root to kluczowe hasło administratora bazy danych. Zapisz je w bezpiecznym miejscu — bez niego nie zaloguje się do serwera!
🐧

3. Instalacja w Linux (Debian / Ubuntu)

## Krok 1: Aktualizacja listy pakietów
sudo apt update

## Krok 2: Instalacja MariaDB
sudo apt install mariadb-server mariadb-client -y

## Krok 3: Uruchomienie serwisu
sudo systemctl start mariadb
sudo systemctl enable mariadb   # autostart przy boot

## Krok 4: Bezpieczna konfiguracja (interactive)
sudo mysql_secure_installation
# Odpowiedz na pytania:
# - Ustaw hasło root (Y)
# - Usuń anonimowych użytkowników (Y)
# - Zablokuj zdalne logowanie roota (Y)
# - Usuń testową bazę danych (Y)
# - Przeładuj tabele uprawnień (Y)

## Sprawdzenie statusu
sudo systemctl status mariadb
🔐

4. Pierwsze logowanie i podstawowe polecenia

Logowanie przez terminal:

## Składnia logowania
mysql -u root -p
# -u root  → użytkownik root
# -p       → zapytaj o hasło (nie wpisuj go w komendzie!)

## Logowanie z podaniem hosta (zdalnie)
mysql -u root -p -h 192.168.1.100 -P 3306

Podstawowe polecenia po zalogowaniu:

-- Wyświetl listę baz danych
SHOW DATABASES;

-- Wybierz bazę danych do pracy
USE mysql;

-- Wyświetl tabele w aktualnej bazie
SHOW TABLES;

-- Wyświetl wersję serwera
SELECT VERSION();

-- Wyświetl aktualnego użytkownika
SELECT USER();

-- Wyjdź z klienta MySQL
EXIT;   -- lub QUIT; lub \q
Każde polecenie SQL musi kończyć się średnikiem (;). Bez niego MySQL czeka na dalszy ciąg polecenia i wyświetla ->.
🛠️

5. Narzędzia graficzne (GUI)

NarzędziePlatformaOpisCena
phpMyAdmin Przeglądarka www Najpopularniejszy webowy interfejs MySQL. Wchodzi w skład XAMPP/WAMP. Bezpłatny
MySQL Workbench Windows/Mac/Linux Oficjalne narzędzie Oracle. Projektowanie E/R, SQL editor, administracja. Bezpłatny
DBeaver Windows/Mac/Linux Obsługuje dziesiątki SZBD (MySQL, PostgreSQL, SQLite, Oracle...). Bardzo popularne. Community Edition bezpłatny
HeidiSQL Windows Lekkie, szybkie narzędzie dla MySQL/MariaDB. Popularne w Polsce. Bezpłatny
✏️

Zadania interaktywne

Zadanie 1Kolejność kroków instalacji

Ponumeruj kroki instalacji MySQL w Windows we właściwej kolejności (1 = pierwszy):

Ustaw hasło dla użytkownika root
Pobierz plik instalatora MSI ze strony MySQL
Wybierz typ instalacji (np. Developer Default)
Uruchom instalator MSI
Kliknij Execute — zakończ instalację
Zadanie 2Quiz: polecenie listy baz danych

Które polecenie MySQL wyświetla listę dostępnych baz danych?

  • LIST DATABASES;
  • SHOW DATABASES;
  • SELECT * FROM databases;
  • DISPLAY DATABASES;
Zadanie 3Popraw błędne polecenie logowania

Poniższe polecenie logowania do MySQL zawiera błąd bezpieczeństwa. Znajdź i opisz błąd:

mysql -u root -pMoje_Haslo_123
  • Błąd: brak cudzysłowów wokół nazwy użytkownika
  • Błąd: hasło wpisane bezpośrednio w poleceniu jest widoczne w historii poleceń i procesach systemu — należy użyć -p bez hasła (hasło zostanie zapytane interaktywnie)
  • Błąd: brakuje flagi -h localhost
  • Polecenie jest poprawne — nie ma błędu

📌 Zapamiętaj