MySQL-a można określić jako system zarządzania bazami danych (open-source), zwykle instalowany jako część słynnego LAMPA (Linux, Apache, MySQL, Perl/PHP/Python). Stosuje Structured Query Language (skrót od SQL) i obsługuje relacyjny model zarządzania swoimi danymi.
To najbardziej rozpoznawalna technologia w najnowszym ekosystemie big data. Często nazywana najsłynniejszą bazą danych, a obecnie skuteczna i szeroko stosowana niezależnie od produkcji. Jest oczywiste, że każdy, kto zajmuje się ogólnymi danymi IT lub przedsiębiorstwami, powinien przynajmniej dążyć do wspólnej znajomości MySQL.
Każdy nowy lub niezaznajomiony z systemami relacyjnymi może zbudować wydajne, bezpieczne i szybkie systemy przechowywania danych MySQL-a . Interfejsy programistyczne i składnia MySQL-a są także idealnymi bramami do ogromnego świata innych znanych magazynów danych strukturalnych i języków zapytań.
Przegląd MySQL-a
MySQL-a jest wpisane C++ I C . Napisany jest parser SQL MySQL tak posługuje się jednak domowym analizatorem leksykalnym. MySQL implementuje na różnych platformach systemowych, w tym Tru64, Sanos, SCO UnixWare, SCO OpenServer, SunOS, Symbian, Oracle Solaris, QNX, OS/2 Warp, OpenSolaris, OpenBSD, Novell NetWare, NetBSD, Microsoft Windows, macOS, Linux, IRIX, IBM i, eComStation, ArcaOS, HP-UX, FreeBSD, BSDi i AIX. Dostępny jest także port MySQL do OpenVMS.
Biblioteki klienckie i samo oprogramowanie serwerowe MySQL korzystają z dystrybucji podwójnego licencjonowania. Są one dostarczane na podstawie drugiej wersji GPL lub licencji zastrzeżonej. Wsparcie można uzyskać za pomocą oficjalnej instrukcji. Ponadto bezpłatne wsparcie jest dostępne w różnych formularzach i kanałach IRC. Oracle zapewnia płatne wsparcie poprzez swoje Produkty MySQL Enterprise . Różnią się także zakresem usług i ceną. Istnieje również wiele organizacji zewnętrznych oferujących usługi i wsparcie.
MySQL zebrał różne pozytywne recenzje, a recenzenci zauważyli, że „w przeciętnych przypadkach implementuje się on wyjątkowo dobrze” oraz że „dostępne są interfejsy programisty i dokumentacja”. Został również sprawdzony jako prawdziwy, stabilny i szybki, wielowątkowy serwer baz danych SQL, obsługujący wielu użytkowników.
Specyfikacje MySQL
MySQL jest relacyjny
Głównym czynnikiem jest odróżnienie relacyjnych baz danych od innych cyfrowych systemów przechowywania pod względem sposobu zarządzania danymi na wysokim poziomie. Wiele baz danych, takich jak MySQL, zawiera rekordy w wysoce skodyfikowanych, oddzielnych i wielu tabelach, w przeciwieństwie do jednego obejmującego wszystko zbioru lub repozytoriów dokumentów nieustrukturyzowanych lub częściowo ustrukturyzowanych.
- Umożliwia systemom relacyjnych baz danych lepsze wykorzystanie działań, takich jak aktualizacja informacji, wyszukiwanie danych lub bardziej skomplikowanych działań, takich jak agregacja.
- Dla każdej zawartości bazy danych określony jest model logiczny, określający na przykład wartości dozwolone w pojedynczej kolumnie, charakterystykę widoków i tabel lub sposób powiązania indeksów z dwóch różnych tabel.
- Z różnych powodów znanych jest kilka modeli relacyjnych.
- Zachęcają użytkowników do deklaratywnych i intuicyjnych języków programowania, zasadniczo instruując bazę danych, jaki wynik jest pożądany w języku.
- Przenosi pracę do silników SQL i RDBMS w celu lepszego zapisywania i egzekwowania logicznych reguł dotyczących cennej siły roboczej i zasobów.
Otwarte źródło
Każde przedsiębiorstwo lub osoba fizyczna może swobodnie rozszerzać, publikować, modyfikować i wykorzystywać bazę kodu MySQL typu open source firmy Oracle. Oprogramowanie jest publikowane na stronie GNU GPL (powszechna licencja publiczna) .
- W przypadku kodu MySQL wymagającego dołączenia lub zintegrowania z aplikacją komercyjną (lub gdy oprogramowanie typu open source nie jest priorytetem), wiele przedsiębiorstw może kupić wersję z licencją komercyjną od firmy Oracle.
- Te alternatywy zapewniają przedsiębiorstwom dodatkową elastyczność przy decydowaniu się na wdrożenie MySQL-a .
- Społeczność i publiczny charakter wersji open source wzbogacają obsługę online i kulturę dokumentacji MySQL, zapewniając jednocześnie, że nowo opracowane lub trwałe możliwości nigdy nie odbiegają zbytnio od wymagań użytkownika.
MySQL jest kompatybilny
MySQL został opracowany tak, aby był kompatybilny z innymi architekturami i technologiami, chociaż często współpracował z usługami sieciowymi lub aplikacjami internetowymi. System zarządzania relacyjnymi bazami danych działa w każdym większym środowisku komputerowym, w tym w systemie operacyjnym opartym na systemie Unix, takim jak niezliczone dystrybucje Linuksa, Windows , I System operacyjny Mac .
The architektura klient-serwer z MySQL-a określa, że może obsługiwać szereg backendów i różnych interfejsów programowania. Dane można migrować za pomocą MySQL do jego forków ( MariaDB ) i większości innych systemów zarządzania relacyjnymi bazami danych, ze względu na podobieństwa językowe i architektoniczne.
- Ugruntowane narzędzia do migracji innych firm i narzędzia Oracle dodatkowo umożliwiają MySQL przenoszenie danych do i przez ogromną kolekcję popularnych systemów pamięci masowej, jednak są one opracowywane tak, aby działały w chmurze lub lokalnie.
- MySQL może być używany w scentralizowanych lub rozproszonych, zwirtualizowanych środowiskach, a nawet jest dostępny jako biblioteki do nauki małych, testowych aplikacji.
- Szeroka kompatybilność MySQL z każdym innym oprogramowaniem i systemem sprawia, że w większości przypadków jest to praktyczny wybór systemów zarządzania relacyjnymi bazami danych.
Łatwy w użyciu
Być może paradygmat tabeli jest najbardziej intuicyjny i pozwala na większą użyteczność, pomimo relacyjnego charakteru MySQL-a a sztywne konstrukcje do przechowywania mogą wydawać się restrykcyjne. W rzeczywistości, MySQL-a dokonuje kilku potwierdzeń w celu obsługi ogromnego możliwego zakresu struktur danych, poprzez standardowe, ale bogate typy czasu, daty, alfanumeryczne, numeryczne i logiczne, po bardziej zaawansowane dane geoprzestrzenne lub JSON.
- Oprócz drogiego, wbudowanego zbioru funkcji i prostych typów danych, ekosystem MySQL zawiera także szereg narzędzi ułatwiających wszystko, od zarządzania serwerem po analizę danych i raportowanie.
- Niezależnie od nadrzędnej architektury systemu zarządzania relacyjnymi bazami danych, użytkownicy mogą znaleźć aspekt MySQL pozwalający im kodyfikować i modelować dane według własnego uznania.
- MySQL pozostaje najprostszą technologią baz danych w obsłudze i nauce.
Funkcje MySQL-a
MySQL-a jest dostępny w dwóch różnych edycjach: własny serwer korporacyjny I serwer społecznościowy MySQL o otwartym kodzie źródłowym. Serwer MySQL Enterprise jest oddzielony zastrzeżoną serią rozszerzeń, które instaluje się podobnie jak wtyczki serwerowe, ale rozpowszechnia system numeracji wersji i jest rozwijany przy użyciu podobnej bazy kodu.
Poniżej wyjaśniono niektóre główne funkcje wersji 5.6 MySQL:
- Obsługa wielu platform
- Jakiś ANSISQL99 szeroki podzbiór i rozszerzenia.
- Procedury składowane z językami proceduralnymi, które są prawie zgodne z PSM/SQL.
- Aktualizowanie widoków
- Kursory
- Wyzwalacze
- Schemat informacyjny
- online Język definicji danych (skrót od DDL ) jeśli zastosujesz InnoDB Silnik przechowywania.
- Schemat wydajności, który gromadzi i łączy statystyki dotyczące wydajności zapytań i wykonania serwera w celu monitorowania.
- Grupa opcji trybu SQL służących do kontrolowania zachowania środowiska wykonawczego, np. tryb ścisły zapewniający zgodność ze standardami SQL.
- Punkty zapisu z transakcjami, jeśli stosujesz InnoDB Silnik pamięci masowej (domyślny). Ponadto NDB Cluster Storage Engine obsługuje transakcje.
- Buforowanie zapytań
- Obsługa protokołu SSL
- Pod-SELECTy (np. zagnieżdżone WYBORY )
- Wbudowana obsługa replikacji
Wirtualny synchroniczny: Samozarządzające się grupy serwera MySQL z obsługą wielu wzorców można wdrożyć za pomocą wbudowanej wtyczki Group Replication lub Gromada galer .
Ograniczenia MySQL
W przypadku korzystania z kilku silników pamięci masowej innych niż InnoDB (domyślnie) , wówczas MySQL nie jest zgodny z pełnym standardem SQL w przypadku kilku zaimplementowanych funkcjonalności, takich jak odniesienia do kluczy obcych. Ponadto ograniczenia sprawdzające można analizować, ale można ich unikać w każdym silniku pamięci masowej przed wersją MySQL 8.0.15.
Wyzwalacze są ograniczone do jednego na czas/akcję aż do wersji MySQL 5.7, co oznacza, że można określić co najwyżej jeden wyzwalacz, który będzie uruchamiany po operacji, tj. WSTAWIĆ i singiel wcześniej WSTAWIĆ na podobnym stole. Nie można określić wyzwalaczy w widokach.
19 stycznia 2038 roku przestały działać wbudowane funkcje bazy MySQL takie jak UNIX_TIMESTAMP zwróć 0 po 03:14:07 UTC . Niedawno podjęto próbę rozwiązania problemu, który został przydzielony do kolejki wewnętrznej.
Wdrożenie MySQL
MySQL-a można zainstalować i zbudować ręcznie przy użyciu kodu źródłowego, ale zasadniczo instaluje się go przy użyciu pakietu binarnego, chyba że potrzebne są unikalne dostosowania. System zarządzania pakietami może pobrać i zainstalować MySQL przy minimalnym wysiłku. Często potrzebne są dalsze konfiguracje w celu dostosowania ustawień optymalizacji i bezpieczeństwa w większości dystrybucji Linuksa.
Aplikacja o wysokiej dostępności
OracleMySQL zapewnia aplikacje o wysokiej dostępności za pomocą zestawu narzędzi, w tym Powłoka MySQL i router MySQL . Oparte są na narzędziach open source i replikacji grupowej. MariaDB zapewnia tę samą ofertę w przeciwieństwie do produktów.
Jak zrestartować serwer MySQL?
Możemy użyć polecenia, tj. ' praca' do wykonywania typowych operacji, takich jak uruchamianie, zatrzymywanie i ponowne uruchamianie serwera MySQL w Ubuntu. Najpierw musimy zalogować się na nasz serwer WWW i wprowadzić jedno z poniższych poleceń.
Możemy wprowadzić poniższe polecenie, aby uruchomić serwer MySQL w Ubuntu:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Możemy wprowadzić poniższe polecenie, aby zatrzymać serwer MySQL w Ubuntu:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Możemy wprowadzić poniższe polecenie, aby ponownie uruchomić serwer MySQL w Ubuntu:
$ sudo systemctl restart mysql.service
Możemy wprowadzić poniższe polecenie, aby sprawdzić status serwera MySQL w Ubuntu (niezależnie od tego, czy jest uruchomiony, czy nie):
$ sudo systemctl status mysql.service