MySQL

MySQL to jeden z najpopularniejszych relacyjnych systemów zarządzania bazami danych (RDBMS), oparty na Structured Query Language (SQL). Jest powszechnie stosowany zarówno w małych projektach, jak i w dużych aplikacjach biznesowych. Dzięki szybkości, niezawodności i elastyczności, system stał się podstawowym wyborem dla wielu programistów i administratorów baz danych. Co więcej, pełni on kluczową rolę w stosie technologicznym LAMP, czyli kombinacji Linux, Apache, MySQL i PHP, szeroko wykorzystywanej w hostingu stron internetowych. W tym artykule wyjaśniono, czym jest MySQL, jak działa oraz jakie ma zastosowania.

Czym jest MySQL?

Baza danych

Baza danych to ustrukturyzowany zbiór informacji, który może być trwale przechowywany i zarządzany. W przypadku MySQL dane organizowane są w tabelach, co pozwala na ich efektywne przetwarzanie.

System RDBMS (Relacyjny system zarządzania bazą danych)

Jest on systemem RDBMS, co oznacza, że dane są przechowywane w relacyjnych tabelach. Każda tabela posiada klucz podstawowy, który identyfikuje unikalne rekordy oraz umożliwia łączenie danych między tabelami.

Structured Query Language (SQL)

MySQL wykorzystuje język SQL do zarządzania bazą danych. Jest to standardowy język zapytań, który pozwala na tworzenie, edytowanie i pobieranie danych. Podobną składnię wykorzystują także inne systemy, takie jak PostgreSQL czy Microsoft SQL Server.

Jak działa Structured Query Language?

MySQL składa się z serwera oraz zestawu narzędzi administracyjnych, które umożliwiają zarządzanie bazami danych. Cały proces działania systemu można podzielić na kilka etapów:

  1. Tworzenie bazy danych, w której będą przechowywane oraz przetwarzane dane.
  2. Definiowanie relacji pomiędzy tabelami w bazie.
  3. Wysyłanie zapytań przez klientów – użytkownicy lub aplikacje komunikują się z serwerem MySQL poprzez komendy w języku SQL.
  4. Przetwarzanie żądań przez serwer, który interpretuje zapytania i wykonuje odpowiednie operacje na danych.
  5. Zwracanie wyników do klientów, np. aplikacji internetowych, które prezentują dane użytkownikom.

Na jakich platformach działa MySQL?

MySQL może być uruchamiany na różnych systemach operacyjnych, takich jak Linux i Windows. Jest szeroko stosowany jako baza danych back-end dla wielu popularnych stron internetowych oraz aplikacji. Dzięki skalowalności i wydajności system znajduje zastosowanie w zarówno małych projektach, jak i dużych systemach korporacyjnych.

Schemat w MySQL

W systemie MySQL, fizycznie, schemat jest synonimem bazy danych. W praktyce oznacza to, że słowo kluczowe „SCHEMA” może być używane zamiennie z „DATABASE”. Na przykład, w składni SQL można zastosować:

sqlKopiujEdytujCREATE SCHEMA nazwa_schematu;

zamiast

sqlKopiujEdytujCREATE DATABASE nazwa_bazy;

Choć w MySQL schemat i baza danych są tożsame, w niektórych innych systemach RDBMS, np. w Oracle Database, schemat odnosi się jedynie do tabel i obiektów należących do konkretnego użytkownika, a nie do całej bazy danych. Zrozumienie tej różnicy jest kluczowe przy pracy z różnymi systemami zarządzania bazami danych.


Hasze w MySQL

Hasze to wyniki działania algorytmów kryptograficznych, które konwertują dane o zmiennej długości na wartości o stałej długości.

W MySQL hasze mogą być wykorzystywane w różnych celach, na przykład:

  • Indeksowanie danych – w tabelach haszujących, gdzie każda wartość haszująca pełni rolę wskaźnika do oryginalnych danych. Dzięki temu proces wyszukiwania jest bardziej efektywny.
  • Przechowywanie haseł – zamiast zapisywać hasła w jawnej formie, przechowywane są ich skróty. Pozwala to na zwiększenie bezpieczeństwa, gdyż oryginalne hasło nie jest przechowywane bezpośrednio w bazie danych.

Haszowanie haseł to kluczowa technika zabezpieczeń, ponieważ nawet jeśli baza danych zostanie naruszona, oryginalne hasła nie mogą być bezpośrednio odczytane bez przeprowadzenia kosztownego procesu łamania haszy.

Podsumowanie

MySQL to niezwykle popularny i wydajny system zarządzania bazą danych, który jest szeroko stosowany w aplikacjach internetowych oraz systemach biznesowych. Dzięki prostocie obsługi, elastyczności i wysokiej wydajności, jest on kluczowym elementem w architekturze wielu stron internetowych oraz aplikacji. Jego działanie opiera się na języku SQL, który umożliwia tworzenie, modyfikowanie oraz pobieranie danych w sposób szybki i efektywny. Wybór go jako systemu bazodanowego to decyzja, która pozwala na stabilność, bezpieczeństwo oraz dużą skalowalność projektów.

źródło: https://tryhackme.com/room/networkservices2 dostęp 03.03.2025