ITBlog

IT Blog w tematach różnych...

  • O blogu…
  • Edukacja
    • Moodle – stare
    • Moodle2
    • Testy
  • Firma

MySQL / MariaDB – System baz danych

Napisane przez Igor Brzeżek on 5 listopada 2025
Napisane w: Bazy danych.

Contents
  1. Wprowadzenie
  2. MySQL – Co to jest
  3. MySQL – Instalacja i uruchomienie
  4. Instalacja
  5. Uruchomienie – z panelu XAMPP (praca w tle)
  6. Uruchomienie – z wiersza poleceń (praca na pierwszym planie, w konsoli)
  7. MariaDB – wywodzi się z MySQL

Wprowadzenie

Bazy danych to jeden z newralgicznych elementów naszego świata i to nie tylko świata IT. Istnieją od bardzo dawna, a może nawet od zawsze. Ich celem jest przechowywanie danych. W sumie tylko przechowywanie, na co niektórzy mogą sie obruszyć i powiedzieć: no nie, nie tylko bo przecież jeszcze wyszukiwania, aktualizacja, jednym słowem przetwarzanie. Możemy zatem wprowadzić pewne definicje:

Baza danych – statyczny zbiór danych w dowolnej formie. Mogą to być segregatory z zapisanymi kartkami – czyli nasze dane w postaci analogowej. Mogą to być pliki z tekstem jawnym, zaszyfrowanym, dane w postaci binarnej w dowolnym formacie itp. – czyli dane cyfrowe. Forma nie ma znaczenia, to są nasze dane, a ich całość możemy nazwać nasza baz danych. Przykładem może być spis telefonów trzymany w postaci małego zeszytu (kto starszy to pamięta takie notatniki), gdzie każda kartka była opatrzona kolejną literą alfabetu, na kolejnych stronach wpisywaliśmy kontakty czyli numery telefonów, dane i adresy (nie było wtedy RODO) zatem zeszytu nie trzeba było zabezpieczać. Nasze dane mogą być w takiej bazie w zupełnym bezładzie (np w zeszyt wpisujemy dane i numery telefonów jak leci) albo mogą być  w jakiś sposób skategoryzowane, podzielone można powiedzieć, że poindeksowane. W przykładzie naszego zeszytu to będą kolejne litery alfabetu, zatem wyszukiwanie w dużym zestawie danych stanie sie nieco łatwiejsze. Kiedy będziemy szukać kolegi Nowaka udamy się do kartki z opisem ‚N’. Dodatkowo można jeszcze taki zbiór „indeksów” posortować dokładnie tak, jak w takim zeszycie: litery są ułożone alfabetycznie. Był ktoś w przychodni NFZ? Często mają tam szafki z szufladami a na nich litery lub zestawy liter: Aa-Ah, Ai-Az, Ba-Be… To znacznie ułatwia i przyspiesza wyszukiwanie danych. To właśnie jest baza danych. Generalnie służy tylko do przechowywania danych. Tylko do przechowywania. Szafka w NFZ może być zamykana na klucz celem ochrony przed wścibskimi, ale to nie zmienia faktu, że taka baz służy tylko do statycznego przechowywania danych w dowolnym formacie. Zauważmy, że im lepiej dane będą opisane (poindeksowane) tym szybciej znajdziemy właściwe.

Schemat bazy danych – to sposób i format przechowywania czy organizowania danych, czy są zapisane na kartkach A4 i złożone w teczkach, skoroszytach czy jakoś inaczej. Dane mogą być zapisane na kartkach, te wkładane w folie, kolejno w teczki, dalej w segregatory i szuflady. Każda kartka może mieć wymóg aby posiadać: datę utworzenia, autora itp. Czyli mamy jakiś schemat zapisu danych celem spójności, przejrzystości i utrzymania jednolitego standardu. W arkuszach kalkulacyjnych mamy podział na: zeszyty, arkusze, kolumny, wiersze. Taka struktura jest bardzo podobna do tabel z jakimi sie spotkamy w większości baz danych.

Serwer baz danych  – coś, do będzie służyło do obrabiania naszych danych. Kiedy przychodzi do przychodni, z bólem rączki, Kowalski to pani za okienkiem pyta: „Czego?”, pacjent (ang. patient – cierpliwy, bo w NFZ takim trzeba być) mówi: „Jestem Kowalski mnie boli.”. Zatem nasza mila Pani otwiera szufladę z opisem zgodnym z dwoma pierwszymi literami cierpliwego pacjenta: „Ko”. Szybko i sprawnie. Teraz pozostaje już tylko wyszukać w kartotekach, a one mogą być w jakiś jeszcze indeksowane aby przyspieszyć to wyszukiwanie. To może być nasz serwer bazy pacjentów. Bez takiego serwera Kowalski nie uzyska dostępu do danych, chyba ze sięgnie do nich bezpośrednio czyli do plików kartek w swojej kartotece. Przy okazji jeśli ktoś nie wie skąd wzięły się nazwy w świeci PC: plik, katalog (zwany czasem folderem albo kartoteką), zbiór danych to teraz już wie – ze świata, rzeczywistego, właśnie z naszych danych. Zatem serwer bazy danych obsługuje samą bazę, zapewnia do niej dostęp, dba o poprawność i spójność danych (pani w przychodni zapewne odłoży kartotekę do właściwej szuflady, tym samym zachowując spójność danych).

Klient bazy danych – to coś (pewnie program) umożliwiający, za pośrednictwem serwera, dostęp do danych celem ich tworzenia, odczytu, zmiany słowem modyfikacji. Klientem może być Kowalski, który do serwera bazy powie „poproszę o receptę, która leży w mojej kartotece”, a serwer to wykona. Czas odpowiedzi będzie zależny od stopnia uporządkowania danych i sposobu wyszukiwania.

Porządkowanie bazy danych – ten proces może być wykonywany w te, np przez pracownika po godzinach pracy. Pracownik, kiedy baza nie jest potrzebna, albo jest mało obciążona może ją przeglądać i porządkować (sortować, usuwać informacje nadmiarowe itp).

Kopia bazy danych – możliwe, że raz na tydzień przychodzi ktoś do przychodni i kopiuje dane (np. jakiś skryba) a następnie je przenosi do bezpiecznego miejsca. W jakim celu? Jak się spali budynek przychodni (np. pacjent, który nie był patient) to będzie można odtworzyć wszystkie dane.

System Zarządzania Bazą Danych (ZSBD) – to całość procedur zarządzania bazą danych. Składa się na ten zestaw serwer, klient i dodatkowe element (w świecie IT oczywiście oprogramowanie), które zapewnia dostęp do bazy, jej utrzymywanie w należytym stanie itp. Zazwyczaj kiedy instalujemy „bazę danych” to instalujemy SZBA (serwer, klienta, przykładowe dane i wiele innych programów wspomagających). Jest to kompleksowe rozwiązanie zapewniające dostęp do wszystkich czynności jakie chcemy podejmować wobec naszych danych.

MySQL – Co to jest

MySQL jest dojrzałym i wieloletnim projektem serwera baz danych. Jest darmowy, dostępny na wiele platform, niezwykle uniwersalnym i stabilnym Ogromna ilość webswerisów a Internecie swoje dane przechowuje właśnie na MySQL.

Serwer – jest to główny program zarządzający całą bazą danych, korzysta on z tzw. silnika (jest ich wiele), który to już bezpośrednio sięga do danych. Serwer, zarządza uprawnieniami użytkowników, pamięcią, loguje zdarzenia, zarządza silnikami, odbiera od klienta zapytania SQL, przetwarza je i przesyła konkretne polecenia do silnika, który już bezpośrednio operuje na danych. W MySQL i MariaDB serwerem jest program mysqld (pod Windows jest to mysqld.exe). Program ten zazwyczaj jest uruchamiany w tle jako usługa.

Silnik bazy danych – jest elementem wykonawczym (wewnętrznym modułem programowym), który operuję na danych zarządzając ich strukturą i zawartością. Przykładowe silniki: innoDB, MyISAM Memory. Jako użytkownik nie masz do niego żadnego bezpośredniego dostępu, a jedynie przez serwer.

Wersje – System MySQL powstał w latach 90tych jako otwarty i darmowy projekt. Później został wchłonięty przez SUN i kolejno prze Oracle zatem już nie jest taki otwarty. Jeden z twórców oryginału się wkurzył i stworzył MariaDB, produkt konkurencyjny, całkowicie darmowy i otwarty. Z perspektywy nauki baz danych nie ma znaczenia co wybierzesz.

MySQL – Instalacja i uruchomienie

Instalacja

Instalacja serwera MySQL polega na pobraniu pakietu instalacyjnego (https://www.mysql.com/downloads/ albo https://mariadb.org/download/) i zainstalowaniu go. Jest to oprogramowanie, które pracuje w wierszu poleceń i nie ma wbudowanego GUI. Generalnie tego typu serwery pracują jako usługi systemowe czyli nie widać ich działania, nie mają swojego okna. Inaczej mówiąc pracują w tle.

Uruchomienie – z panelu XAMPP (praca w tle)

Załóżmy, że masz standardową instalacje Mysq/MariaDB wykonaną za pomocą pakietu XAMPP. W takim wypadku uruchomienie serwera jest proste:

  • uruchamiasz XAMPP
  • uruchamiasz MySQL

W tym momencie usługa mysqld.exe startuje i pracuje w tle. Widzisz to po stanie (na zielono) w XAMPP (1)

Możesz samodzielnie sprawdzić czy taka usługa działa za pomocą menadżer zadań. Naciskasz Ctrl-Shift-Esc i szukasz w zakładce Procesy wpisu mysqld (w tym wypadku jest on uruchomiony przez XAMPP zatem trzeba rozwinąź tą pozycję):

Teraz przejdź do zakładki Szczegóły menadżera zadań i wyszukaj mysqld. Sprawdź jaki on ma identyfikator procesu (PID)

Jest to ten sam numer jaki pokazuje panel XAMPP (2). Zatem to jest nasz działający serwer. Działa on w tle i samego serwera nie można zobaczyć. Taka jest charakterystyka usług systemowych, których jest mnóstwo. Aby zakończyć działanie serwera klikamy w panelu XAMPP w Stop. Spowoduj eto poprawne zatrzymanie serwera (zapis danych  i inne czynności). Jak już serwer działa to pasowało by się do niego jakoś dostać, skorzystać z jego usług czyli z naszej bazy.

Uruchomienie – z wiersza poleceń (praca na pierwszym planie, w konsoli)

Możemy też serwer MySQL uruchomić z wiersza poleceń. W tym celu trzeba stwierdzić gdzie został zainstalowany. Przy standardowej instalacji XAMPP pod Windows jest w katalogu: c:\xampp\mysql\bin\mysql.exe. Uruchamiany okno wiersz poleceń cmd i uruchamiamy w nim nasz serwer poleceniem (w moim przypadku jest w katalog xampp1) z dodatkowymi przełacznikami:

Ważnym przełacznikiem jest –standalone, który powoduje, że serwer uruchamia się i pozostaje w konsoli. Bez tego przełącznika serwer uruchomi się od natychmiast przedzie do pracy w tle, zatem na konsoli niczego nie zobaczymy choć sam serwer normalnie działa. Jeśli w ten sposób uruchomimy serwer i także będzie miał swój numer PID a w oknie XAMPP zobaczymy go:

Uwaga: jak teraz zamkniesz okno konsoli cmd także zostanie zatrzymany serwer, zatem ten sposób jest tylko do testów.

Jak serwer odbiera nasze połączenia – serwer mysql jest usługą sieciową. Oznacza to, że uruchamiając się rozpoczyna nasłuchiwane na wybranym adresie IP (hosta na którym pracuje) oraz na wybranym porcie. Domyślnie serwer ten nasłuchuje na adresie IP interfejsu pętli zwrotnej (ang. loopback) i na porcie TCP 3306 (co też widać w panelu XAMPP). Adresem pętli zwrotnej każdego hosta jest 127.0.0.1 (dla IPv4) oraz :: (dla IPv6). W ten sposób można dostać się do naszego serwera. Jeśli na naszej maszynie działa już jakaś usługa na porcie 3306 protokołu TCP to serwer mysql sie nie uruchomi. W tym wypadku trzeba wyłączyć tą usługę albo zmienić port dla mysql.

Kontakt z serwerem MySQL (klient tekstowy, konsolowy TUI) – jak już nasz serwer działa (bez znaczenia w jaki sposób był uruchomiony) to teraz trzeba się do niego jakoś dostać. Instalator daje nam program konsolowy zwany monitorem bazy danych. Nazywa się mysql (w Windows mysql.exe). Aby go uruchomić najpierw trzeba uruchomić konsolę cmd i kolejno w niej monitor. Monitor jest programem i aby go uruchomić trzeba podać do niego ścieżkę dostępu albo przejść do katalogu, w którym znajduje sie ten program. Tu podamy ścieżkę:

C:\Users\yyy> c:\xampp1\mysql\bin\mysql.exe

To nie wszystko. Mimo tego, że serwer i monitor pracują na tym samym hoście to do serwera musimy zalogować sie „po sieci” na jego adres i port podając nazwę użytkownika i hasło. Polecenie będzie takie:

c:\Users\yyy> c:\xampp1\mysql\bin\mysql -h 127.0.0.1 -P 3306 -u root -p

Ponieważ jednak, jak każdy program, mamy pewne ustawienia domyślne, wystarczy, że podamy:

mysql -u root

Zaraz po instalacji w naszym SZBD istnieje tylko jeden użytkownik o nazwie root i to bez hasła. Po poprawnym zalogowaniu mamy:

W tym momencie możemy wydawać polecenia do SZBD oraz poleceni w języku zapytań SQL. O tym mamy inne artykuły i tego tematu tutaj nie poruszamy. Więcej na temat pracy w konsoli i uruchamiania tam programów znajdziesz tutaj.

Klient baz danych (graficzny GUI) – konsola, choć bardzo przydatna, nie jest wygodna. Istnieje wiele programów do zarządzania bazami danych typu GUI (Graphical Interface User):

  • MySQL WorkBench
  • HeidiSQL
  • phpMyAdmin
  • Adminer

MySQL WorkBench –  Oficjalny program do zarządzania SZBD

HeidiSQL – fajny i uniwersalny program do pobrania z https://www.heidisql.com/ pozwala na zdalne zarządzanie bazami danych, serwerem z interfejsu GUI.

phpMyAdmin – aplikacja webowa, oparta na Apache i PHP. Jeśli chcesz używać musisz pobrać archiwum, rozpakować je do katalogu stron w serwerze WWW (np. Apache dostarczonym razem z XAMPP), włączyć usługę serwera WWW i tyle.

Adminer – jak wyżej wymaga serwera WWW ale jest to tylko jeden wielki plik php. Trzeba pobrać, wgrać do katalogu stron serwera WWW i uruchomić w przeglądarce.

MariaDB – wywodzi się z MySQL

Projekt wywodzący się z MySQL, wygląda bardzo podobnie. Pobieramy ze strony projektu instalator albo paczkę ZIP z całością do rozpakowania. Po instalacji albo rozpakowaniu mamy zazwyczaj katalog c:\mariadb, w nim różne podkatalogi i pliki. W podkatalogu bin mamy programy do uruchomienia (serwer mysqld, monitor mysql) w sumie identyczne jak w MySQL Są też także dedykowane temu projektowi programy np. mariadb. O ile instalator nie wykonał za nas wszystkiego to najpierw trzeba utworzyć katalog z bazami danych (mariadb\data). Służy do tego polecenie:

mysql_install_db.exe

Wydać je trzeba będąc w katalogu mariadb\bin (Windows albo madiadb/bin na Linux). Gdzie znajduje się sam katalog mariadb to już Ty musisz wiedzieć.

Kolejno można uruchomić mysqld (jeśli ma pracować nie w tle ale na pierwszym planie, w konsoli to z opcją –console:

Różnic tu nie omawiamy, w prostych zadaniach, w poznawaniu baz danych oraz języka SQL można stosować MySQL albo MariaDB.

Nawigacja

← Bazy danych – Model relacyjny
Małe wprowadzenie do baz danych →
  • Szukaj

  • Kategorie

    • IT ogólnie (121)
      • Bezpieczeństwo (19)
        • Model AAA (7)
        • Szyfrowanie (1)
      • CCTV (3)
      • Hardware (2)
      • Sieci (32)
        • Cisco (4)
          • Obsługa haseł (2)
        • MikroTik (8)
        • Pomiary w sieciach LAN (6)
          • iptraf-ng (3)
        • Protokół ARP (5)
        • Symulator sieci GNS3 (2)
        • WLAN / WiFi (5)
      • Software (57)
        • Bazy danych (13)
        • Programowanie (4)
        • Systemy operacyjne (17)
          • Linux Debian (14)
        • Windows (7)
      • WiFi (2)
      • Wirtualizacja (26)
  • Ostatnie wpisy

    • Adresy sprzętowe MAC (L2)
    • Analiza działania protokołu ARP oraz ICMP
    • Ścieżka dostępu w systemie operacyjnym
    • Zmienna systemowa PATH – ścieżka dostępu, terminal, powłoka
    • Style Mover
  • Strona odwiedzona

    od 11.01.2013

  • Doskonała platforma e-learningowa Uzyskaj certyfikat IT

Proudly powered by WordPress Theme: Parament by Automattic.
7ads6x98y