Klasa 4 · rozdział 2

phpMyAdmin i serwer MySQL — pierwsze uruchomienie

Dziś odpalasz stanowisko, na którym będziesz pracować cały rok i na egzaminie: Apache (okno phpMyAdmin) oraz MySQL (właściwy serwer bazy). Potem tworzysz pustą bazę z kodowaniem pod polskie znaki.

INF.03.4.3 INF.03.4.5 utf8mb4

Po tym rozdziale powinieneś umieć

  • uruchomić Apache i MySQL w panelu XAMPP i sprawdzić porty;
  • otworzyć http://localhost/phpmyadmin i zalogować się jako root;
  • orientować się w drzewie baz, kartach SQL, Import, Eksport;
  • utworzyć pustą bazę z collation utf8mb4_polish_ci (albo utf8mb4_general_ci);
  • wykonać testowe SELECT w zakładce SQL;
  • nie ruszać baz systemowych; rozpoznać typowy błąd startu (port, Apache, hasło).

1. Czym jest phpMyAdmin i jak współpracuje z serwerem

phpMyAdmin to darmowy, otwarty interfejs graficzny napisany w PHP. Działa w przeglądarce. Każde kliknięcie zamienia na zapytanie SQL i wysyła je do MySQL / MariaDB.

Apache + PHP

Serwer WWW pokazuje stronę phpMyAdmin. Bez Apache przeglądarka zgłosi, że witryna jest nieosiągalna (port 80 / 443).

MySQL / MariaDB

Przechowuje dane i wykonuje SQL. Bez MySQL zobaczysz phpMyAdmin, ale błąd połączenia #2002 (port 3306).

Zależność, której nie wolno pomylić phpMyAdmin nie trzyma tabel. Jest pośrednikiem. Wyłączysz MySQL — panel „żyje” (jeśli Apache działa), ale bazy nie obsłuży.

2. Instrukcja: pierwsze uruchomienie

Na sali obowiązuje XAMPP (albo środowisko wskazane przez nauczyciela). W domu możesz trafić na Laragon — zasada ta sama: usługi włączone, adres zaczyna się od http://.

Krok 1. Usługi

  1. Otwórz XAMPP Control Panel.
  2. Przy Apache kliknij Start — nazwa robi się zielona (porty 80 i 443).
  3. Przy MySQL kliknij Start — zielone, port 3306.

Krok 2. Panel w przeglądarce

W pasku adresu:

http://localhost/phpmyadmin

Albo http://127.0.0.1/phpmyadmin. Dane lokalne / szkolne:

  • Użytkownik: root
  • Hasło: puste albo hasło podane przez nauczyciela
Root na ćwiczeniach, nie w aplikacji Konto root ma pełne uprawnienia. Na lekcjach laboratoryjnych jest wygodne. Aplikacja WWW (PAI) nie powinna łączyć się jako root — to temat administracji w II okresie.

Krok 3. Nowa baza

  1. Górne menu: Bazy danych (albo Nowa w drzewie po lewej).
  2. Nazwa według pracowni, np. db_testowa_4ti albo db_4ti_nazwisko_imie. Tylko małe litery łacińskie, cyfry i podkreślenia. Bez spacji i polskich znaków.
  3. Collation (metoda porównywania znaków): utf8mb4_polish_ci albo utf8mb4_general_ci.
  4. Przycisk Utwórz.
utf8mb4 i polskie litery utf8mb4 to pełny Unicode (w tym emoji i polskie znaki). Sufiks _ci oznacza porównania case insensitiveAla i ala przy sortowaniu mogą być traktowane jako to samo. _polish_ci uwzględnia polski alfabet.

Krok 4. Pierwsze zapytanie

Kliknij swoją bazę po lewej, potem kartę SQL:

SELECT
    USER() AS ZalogowanyUzytkownik,
    VERSION() AS WersjaSerwera,
    NOW() AS AktualnaDataCzas;

Wykonaj. Dostajesz jeden wiersz — to zestaw wynikowy (result set). Serwer odpowiedział. Klient tylko pokazał tabelkę.

Krok 5. Koniec pracy

Bazę czysto testową możesz usunąć: zakładka Bazy danych → zaznacz → Usuń (Drop). Operacja jest nieodwracalna. Potem Stop przy MySQL i Apache.

Zanim zgłosisz „u mnie nie działa”
  1. Apache zielony, MySQL zielony.
  2. Adres to http://localhost/phpmyadmin, nie plik z dysku.
  3. Jeśli logowanie: root i hasło z pracowni.

3. Anatomia ekranu phpMyAdmin

Układ bywa w innej skórce, ale elementy zostają te same.

  • Lewy panel — drzewo baz i tabel.
  • SQL — edytor zapytań (to, czego wymaga arkusz).
  • Import / Eksport — pliki .sql i CSV; wrócisz do nich przy dumpie.
  • Konta użytkowników — GRANT; II okres.

4. Bazy systemowe — nie kasujesz

Na liście są bazy, których nie zakładałeś. To nie „śmieci”.

Baza Rola
information_schema Metadane: nazwy tabel, kolumn, typy, uprawnienia.
mysql Konta, hasła, uprawnienia globalne. Kasacja = martwy serwer.
performance_schema Statystyki wydajności silnika.
sys Widoki ułatwiające diagnostykę (gdy jest na serwerze).
Nigdy nie usuwaj baz systemowych DROP na bazie mysql psuje logowanie i wymaga reinstalacji środowiska. Swoją bazę ćwiczebną wolno usunąć. Cudzej — nie.

5. Poradnik: co poszło nie tak

Celujący z działu 1 to diagnostyka na poziomie użytkowym — bez reinstalacji „na wszelki wypadek”.

Co widzisz Przyczyna Co zrobić
MySQL w XAMPP czerwony / gasi się po sekundzie Port 3306 zajęty (inna instancja mysqld) albo usługa się zawiesiła Menedżer zadań: zakończ zbędny mysqld.exe. Ostateczność: w my.ini inny port (np. 3307) — i pamiętaj, że phpMyAdmin też musi trafić w ten port
ERR_CONNECTION_REFUSED / witryna nieosiągalna Apache nie działa Start przy module Apache
#2002 — nie można nawiązać połączenia Panel PHP działa, MySQL wyłączony albo zły socket/port Start MySQL; sprawdź, czy na liście procesów jest mysqld
Access denied for user 'root'@'localhost' Złe hasło albo rozjazd z config.inc.php Hasło z pracowni; w konfiguracji phpMyAdmin parametr $cfg['Servers'][$i]['password']
Polskie znaki jako ? albo „krzaczki” Złe kodowanie bazy / tabeli Twórz bazę jako utf8mb4 + utf8mb4_polish_ci (lub _general_ci / _unicode_ci)
Konflikt 80 vs 3306 Port 80 to WWW (Apache). Port 3306 to baza. To dwa różne problemy. „Nie otwiera się phpMyAdmin” ≠ „nie łączy się z MySQL”. Najpierw nazwij, która usługa padła.

Ćwiczenia — karta pracy na stanowisku

Folder podręcznika zostaw w spokoju. Pracujesz w XAMPP i w zeszycie.

Ćwiczenie 1. Zielone lampki łatwe

Włącz Apache i MySQL. Zapisz numery portów z panelu: Apache ……, MySQL ……. Otwórz phpMyAdmin przez HTTP.

Ćwiczenie 2. Wizytówka serwera łatwe

Z prawego panelu (albo z wyniku SQL) przepisz: wersję MySQL/MariaDB, użytkownika połączenia, kodowanie serwera. Dopisz wersję PHP, jeśli ją widzisz.

Ćwiczenie 3. Baza z polskim collation średnie

Utwórz cwiczenie_1 albo db_4ti_ + swoje nazwisko, collation utf8mb4_polish_ci. Sprawdź, że widać ją w lewym drzewie.

Ćwiczenie 4. SQL testowy średnie

W zakładce SQL swojej bazy wykonaj:

SHOW DATABASES;

Ile baz łącznie widać? Które z nich są systemowe? Potem SELECT USER(), VERSION(), NOW(); i zapisz wynik.

Ćwiczenie 5. Mapa błędu trudne

W notatkach dopasuj objaw → usługa: „witryna nieosiągalna”, „#2002”, „Access denied”, „MySQL czerwony w panelu”. Jednym zdaniem: czego nie wolno dropować.

Ćwiczenie 6. GUI vs konsola trudne

4–5 zdań: czym różni się praca w phpMyAdmin od klienta tekstowego mysql? Który sposób woli się w skryptach automatyzujących (dump, CI) i dlaczego? To zadanie z konspektu — na ocenę dobrą i wyżej.

GUI wygodne do podglądu i nauki. Konsola i plik .sql dają się powtórzyć bez klikania — stąd dump i skrypt struktury na egzaminie.

Sprawdź się

1. Do czego phpMyAdmin potrzebuje Apache?
2. Który adres otworzy panel?
3. Po co collation utf8mb4_polish_ci?
4. Błąd #2002 przy otwartym phpMyAdmin oznacza zwykle, że:
5. Której bazy nie wolno usuwać?

Wymagania na ocenę

Rozdział 2 zamyka dział 1 razem z rozdziałem 1. Ocena wyższa zawiera niższe.

Ocena Uczeń
2 Z pomocą uruchamia MySQL i otwiera phpMyAdmin.
3 Samodzielnie loguje się, wskazuje listę baz, znajduje zakładkę SQL.
4 Tworzy pustą bazę według nazwy i kodowania. Wykonuje zapytanie sprawdzające wersję serwera.
5 Opisuje stanowisko: Apache/PHP pokazuje panel, MySQL przetwarza SQL. Wyjaśnia bazy systemowe i zakaz ich kasowania.
6 Diagnozuje typowy błąd startu: konflikt portu 3306 lub 80, proces mysqld, hasło w config.inc.php.

Lista „już umiem”