Wyszukiwanie w witrynie

Co to jest MySQL? Jak działa MySQL?


MySQL to najpopularniejszy na świecie system zarządzania relacyjnymi bazami danych typu open source (RDBMS) klasy korporacyjnej, używany w serwisach Facebook, Google, Adobe, Alcatel Lucent i Zappos, oraz przez wiele witryn/aplikacji online.

Jest rozwijany, dystrybuowany i obsługiwany przez Oracle Corporation. Jest to wieloplatformowa, wydajna, elastyczna i rozszerzalna relacyjna baza danych oparta na standardowym języku SQL (Structured Query Language) używanym do tworzenia baz danych i manipulowania nimi.

Najnowsza wersja MySQL (wersja 8.0 w chwili pisania tego tekstu) obsługuje NoSQL („Not Only SQL mocne> ”) bazy dokumentów. Można go zainstalować w systemie Linux, macOS i innych systemach operacyjnych typu UNIX oraz Windows.

Pobierz MySQL'a

  • Pobierz wersję społecznościową MySQL
  • Pobierz MySQL Enterprise Edition

Oprogramowanie bazy danych MySQL jest oprogramowaniem typu open source, korzysta z licencji GPL (GNU General Public License). Co ważne, jest on oferowany w dwóch różnych edycjach: open source MySQL Community Server, który można pobrać, uzyskać dostęp do kodu źródłowego i używać za darmo, oraz zastrzeżoną wersję MySQL Enterprise Edition oraz inne produkty komercyjne, które wymagają rocznej subskrypcji i obejmują profesjonalne wsparcie oraz wiele innych korzyści.

MySQL jest używany do wielu różnych celów, w tym do internetowych baz danych (najczęstsze zastosowanie), hurtowni danych, handlu elektronicznego i aplikacji rejestrujących. Jest to jedno z powszechnie instalowanych programów do konfiguracji LAMPY (Linux + Apache + MySQL + PHP) lub LEMP (Linux + Engine-X + MySQL + PHP ) stos używany do tworzenia stron internetowych i hostingu systemów zarządzania treścią online, takich jak WordPress, Magneto, Joomla, Drupal< i wiele innych. Oprócz PHP obsługuje także wiele innych języków, w tym Perl, Node.js, Python i tak dalej.

Zapoznaj się z tymi powiązanymi przewodnikami dotyczącymi konfigurowania aplikacji z bazą danych MySQL w systemie Linux.

  • Jak zainstalować serwer LAMP na CentOS 8
  • Jak zainstalować serwer LEMP na CentOS 8
  • Jak zainstalować stos LAMP z PhpMyAdmin w Ubuntu 20.04
  • Jak zainstalować stos LEMP z PhpMyAdmin w Ubuntu 20.04
  • Jak zainstalować WordPress z Apache w Ubuntu 20.04

Jak działa MySQL?

Podobnie jak większość dostępnych systemów zarządzania bazami danych, MySQL ma architekturę klient-serwer i może być używany w środowisku sieciowym. Program serwera znajduje się w tym samym systemie fizycznym lub wirtualnym, w którym przechowywane są pliki bazy danych, i jest odpowiedzialny za wszystkie interakcje z bazami danych.

Różne programy klienckie, takie jak narzędzia MySQL do administrowania bazami danych lub dowolne aplikacje napisane w innych językach programowania, mogą łączyć się z serwerem i wysyłać żądania do bazy danych. Serwer przetwarza żądania klientów i zwraca wyniki z powrotem do klienta.

Klient może znajdować się w tym samym systemie co serwer lub na zdalnym hoście i wysyłać żądania do bazy danych przez sieć lub połączenie internetowe do serwera. Co ważne, serwer MySQL musi być uruchomiony, aby klienci mogli się z nim połączyć.

Kluczowe cechy MySQL

MySQL wykorzystuje wielowarstwową konstrukcję serwera z niezależnymi modułami. Serwer jest wielowątkowy, przeznaczony dla wielu użytkowników, skalowalny i solidnie zaprojektowany dla systemów produkcyjnych o znaczeniu krytycznym i obciążonych dużym obciążeniem. Zapewnia zarówno transakcyjne, jak i nietransakcyjne silniki pamięci masowej oraz obsługuje dodawanie innych silników pamięci masowej.

  • MySQL używa bardzo szybkich tabel B-tree z kompresją indeksów, bardzo szybkiego systemu alokacji pamięci opartego na wątkach i wykonuje bardzo szybkie łączenia przy użyciu zoptymalizowanego łączenia w pętli zagnieżdżonej.
  • Obsługuje wiele typów danych, takich jak liczby całkowite ze znakiem/bez znaku, typy zmiennoprzecinkowe (float i double), znaki char i varchar, binarne i varbinary, blob i tekst, data, data/godzina i znacznik czasu, rok, zestaw, wyliczenie i przestrzenne OpenGIS typy.
  • MySQL obsługuje również redundancję danych i wysoką dostępność (HA) poprzez replikację master-slave, klastrowanie wielu węzłów oraz tworzenie kopii zapasowych i odzyskiwanie/przywracanie. Oferuje szeroką gamę typów i strategii tworzenia kopii zapasowych, spośród których możesz wybrać metody, które najlepiej odpowiadają wymaganiom Twojego wdrożenia.
  • Jego funkcje bezpieczeństwa obejmują zarządzanie kontami użytkowników i kontrolę dostępu, weryfikację opartą na hoście, połączenia szyfrowane, kilka komponentów i wtyczek (takich jak wtyczki uwierzytelniające, wtyczki kontroli połączeń, komponent sprawdzania poprawności haseł i wiele innych), które wdrażają zabezpieczenia, a także FIPS (Federalne standardy przetwarzania informacji 140-2 (FIPS 140-2)) po stronie serwera, który ma zastosowanie do operacji kryptograficznych wykonywanych przez serwer.

Poza tym możesz także zapewnić dodatkowe bezpieczeństwo, postępując zgodnie z najlepszymi praktykami bezpieczeństwa MySQL/MariaDB dla systemu Linux. Jednak jak zawsze upewnij się, że wdrożyłeś dobre zabezpieczenia sieci i serwera, aby zapewnić wszechstronne bezpieczeństwo serwera bazy danych.

Klient i narzędzia MySQL

MySQL jest dostarczany z kilkoma programami klienckimi, takimi jak popularne narzędzia wiersza poleceń: mysql, mysqladmin i mysqldump, służące do administrowania bazami danych. Aby połączyć się z serwerem MySQL, klienci mogą korzystać z kilku protokołów, na przykład gniazd TCP/IP na dowolnej platformie lub gniazd domeny UNIX w systemach UNIX, takich jak Linux.

Aby połączyć się i wykonać instrukcje MySQL z innego języka lub środowiska, dostępne są oparte na standardach konektory MySQL (zapewniające łączność z serwerem MySQL dla aplikacji klienckich) oraz interfejsy API dla najpopularniejszych języków programowania (w celu zapewnienia niskiego poziomu dostępu do zasobów MySQL przy użyciu albo klasyczny protokół MySQL, albo protokół X).

Niektóre z popularnych konektorów i interfejsów API obejmują ODBC (Open Database Connectivity), Java (JDBC – Java Database Connectivity), Python, PHP, Node.js, C++, Perl, Ruby oraz natywne instancje C i osadzone MySQL.

Przydatne będą następujące artykuły na temat MySQL:

  • Jak zainstalować najnowszą wersję MySQL 8 na Debianie 10
  • 15 przydatnych wskazówek dotyczących dostrajania i optymalizacji wydajności MySQL/MariaDB
  • Przydatne wskazówki dotyczące rozwiązywania typowych błędów w MySQL
  • Jak zresetować hasło roota w MySQL 8.0
  • Jak zmienić domyślny port MySQL/MariaDB w systemie Linux
  • 4 Przydatne narzędzia wiersza poleceń do monitorowania wydajności MySQL w systemie Linux