Dzienniki powolnych zapytań MySQL: szczegółowy przewodnik

Opublikowany: 2023-08-01
Rozprzestrzeniać miłość

Artykuł jest zwięzłym, ale wszechstronnym zasobem zaprojektowanym w celu jasnego zrozumienia dzienników powolnych zapytań MySQL i sposobów ich efektywnej interpretacji. Ten przewodnik ma na celu rozwikłać złożoność powolnych dzienników zapytań, umożliwiając użytkownikom identyfikowanie wąskich gardeł wydajności i potencjalnych problemów z bazą danych oraz ich rozwiązywanie.

Włączenie dziennika powolnych zapytań dla MySQL okazuje się cennym atutem w diagnozowaniu wyzwań związanych z wydajnością i wydajnością, które mogą mieć wpływ na serwer. Wskazując zapytania, których czas wykonania jest znacznie powolny, zyskujesz możliwość skutecznego adresowania ich poprzez przebudowę aplikacji odpowiedzialnej za zapytania lub optymalizację samych zapytań. To proaktywne podejście gwarantuje, że zapytania są konstruowane z optymalną wydajnością, co ostatecznie prowadzi do poprawy ogólnej wydajności systemu.

Spis treści

Wprowadzenie do MySQL

MySQL to jeden z najpopularniejszych systemów zarządzania relacyjnymi bazami danych o otwartym kodzie źródłowym, szeroko stosowany do przechowywania, zarządzania i pobierania danych dla różnych aplikacji internetowych i oprogramowania. Jak każdy wyrafinowany system bazodanowy, MySQL zapewnia solidny mechanizm logowania do zapisywania istotnych informacji o swoich działaniach i wydajności. Te dzienniki odgrywają kluczową rolę w monitorowaniu i rozwiązywaniu problemów z zachowaniem bazy danych i mogą dostarczać cennych informacji na temat kondycji i wydajności systemu.

Rodzaje dzienników generowanych przez MySQL

Istnieje kilka rodzajów dzienników generowanych przez MySQL, z których każdy służy do określonego celu:

  1. Ogólny dziennik zapytań : Ten dziennik rejestruje każde zapytanie SQL wykonane na serwerze, niezależnie od jego źródła. Jest potężnym narzędziem do debugowania i zrozumienia sekwencji wykonywanych zapytań, ale może też generować ogromne ilości danych, dzięki czemu nadaje się głównie do krótkoterminowej diagnostyki.
  2. Dziennik błędów: Dziennik błędów przechwytuje wszelkie błędy napotkane podczas działania serwera MySQL. Te błędy mogą obejmować problemy z uruchamianiem, zamykaniem lub inne krytyczne błędy, które mogą mieć wpływ na funkcjonalność bazy danych. Monitorowanie dziennika błędów pomaga administratorom szybko identyfikować i rozwiązywać potencjalne problemy.
  3. Slow Query Log: Jak wspomniano wcześniej, Slow Query Log rejestruje zapytania, których wykonanie trwa dłużej niż predefiniowany próg. Ten dziennik jest pomocny w identyfikowaniu wąskich gardeł wydajności i nieefektywnych zapytań, umożliwiając administratorom optymalizację i zwiększenie ogólnej wydajności bazy danych.
  4. Dziennik binarny: Dziennik binarny zawiera zapis wszystkich zmian danych (wstawienia, aktualizacje i usunięcia) dokonanych w bazie danych. Jest używany do celów replikacji, umożliwiając synchronizację danych na wielu serwerach MySQL.
  5. Dziennik przekazywania: Dziennik przekazywania jest specyficzny dla replikacji MySQL. Przechowuje dane otrzymane z serwera głównego przed wykonaniem ich na serwerze podrzędnym w konfiguracji replikacji.

Jak aktywować dziennik powolnych zapytań MySQL?

Poniżej przedstawiono kroki aktywacji dziennika powolnych zapytań dla MySQL lub MariaDB.

  1. Najpierw musisz zalogować się do SSH za pomocą Bitwise. Otwórz klienta Bitwise SSH. Podaj dane hosta, portu i nazwy użytkownika, a następnie wybierz hasło z listy rozwijanej Metoda początkowa i kontynuuj, klikając przycisk logowania. Pojawi się wyskakujące okienko z prośbą o wprowadzenie hasła SSH. Wprowadź hasło SSH w odpowiednim polu.
Zaloguj się do SSH za pomocą Bitwise
Dzienniki powolnych zapytań MySQL: szczegółowy przewodnik

2. Uzyskaj dostęp do pliku /etc/mysql/my.cnf za pomocą edytora tekstu. W tym celu najpierw przejdź do nowego okna SFTP z klienta Bitwise SSH.

Przejdź do nowego okna SFTP z klienta Bitwise SSH.

Teraz wpisz /etc w pasku wyszukiwania plików zdalnych i naciśnij enter.

Aktywuj dziennik powolnych zapytań MySQL

Otwórz plik mysql lub MariaDB.

Aktywuj dziennik powolnych zapytań MySQL

Teraz wybierz my.cnf, kliknij prawym przyciskiem myszy i kliknij edytuj.

Aktywuj dziennik powolnych zapytań MySQL

Pojawi się edytor tekstu. Skopiuj następujące polecenia, wklej je na dole pliku i zapisz go.

 slow_query_log = 1 slow-query_log_file = /var/log/mysql-slow.log long_query_time = 2

3. Teraz otwórz terminal Bitwise i uruchom następujące polecenia, aby wygenerować plik /var/log/mysql-slow.log i przypisać użytkownika mysql jako jego właściciela.

 touch /var/log/mysql-slow.log chown mysql:mysql /var/log/mysql-slow.log

4. Aby ponownie uruchomić MySQL lub MariaDB, uruchom poniższe polecenie.

 /usr/local/cpanel/scripts/restartsrv_mysql

Przeczytaj dziennik powolnych zapytań MySQL

Uzyskaj dostęp do pliku zawierającego dzienniki powolnych zapytań, używając:

/var/log/mysql/mysql-slow.log

W pliku dziennika każde powolne zapytanie jest rejestrowane jako wpis. Wpisy te zwykle zawierają szczegóły, takie jak znacznik czasu, czas wykonania zapytania, liczba zbadanych wierszy i rzeczywista instrukcja SQL.

Zamiast bezpośredniego odczytywania dziennika powolnych zapytań, często bardziej korzystne jest użycie polecenia „mysqldumpslow” do przeanalizowania i podsumowania zawartości dziennika. Możesz wykonać polecenie, będąc zalogowanym jako root przez SSH, w następujący sposób:

sudo -i mysqldumpslow /var/log/mysql/mysql-slow.log

Otrzymane zostaną poniższe dane wyjściowe:

Przeczytaj dziennik powolnych zapytań MySQL

Często zadawane pytania

Jaki jest cel polecenia mysqldumpslow?

Polecenie mysqldumpslow służy do analizowania i podsumowywania zawartości dziennika powolnych zapytań MySQL. Umożliwia wydobycie cennych informacji z pliku dziennika, w tym szczegółów dotyczących najczęściej występujących powolnych zapytań i czasów ich wykonania. Wykonując mysqldumpslow /var/log/mysql/mysql-slow.log , możesz skutecznie analizować i uzyskiwać wgląd w powolne zapytania w efektywny sposób.

Czy mogę używać dziennika powolnych zapytań do długoterminowego monitorowania?

Chociaż dziennik powolnych zapytań jest cenny w diagnostyce krótkoterminowej, włączenie go na dłuższy czas może spowodować wygenerowanie znacznej ilości danych. Aby ułatwić długoterminowe monitorowanie, zaleca się zbadanie alternatywnych podejść, takich jak wykorzystanie narzędzi do monitorowania i rozwiązań do analizy wydajności. Takie postępowanie pomaga zapobiegać przepełnieniu dziennika nadmierną liczbą wpisów i zapewnia efektywne zarządzanie wydajnością bazy danych w czasie.

W jaki sposób Slow Query Log może pomóc w diagnozowaniu problemów z wydajnością bazy danych?

Dziennik powolnych zapytań odgrywa istotną rolę w diagnozowaniu problemów z wydajnością bazy danych, ponieważ identyfikuje zapytania o wolnym czasie wykonywania. Dzięki analizie tych powolnych zapytań administratorzy mogą precyzyjnie zlokalizować wąskie gardła wydajności i nieefektywności w bazie danych. Uzbrojeni w te informacje mogą przystąpić do optymalizacji zapytań, restrukturyzacji aplikacji lub wprowadzenia niezbędnych zmian w celu znacznego zwiększenia ogólnej wydajności systemu.

Jak zoptymalizować zapytania na podstawie informacji z dziennika Slow Query?

Po zidentyfikowaniu wolnych zapytań z dziennika masz możliwość ich optymalizacji różnymi metodami. Obejmuje to dodawanie odpowiednich indeksów, przepisywanie zapytań lub restrukturyzację schematu bazy danych. Ponadto zastosowanie technik optymalizacji zapytań, takich jak EXPLAIN i profilowanie, może dostarczyć cennych informacji i przyczynić się do znacznej poprawy wydajności zapytań.

Czy Slow Query Log ma zastosowanie tylko do MySQL, czy może być używany z innymi systemami baz danych?

Slow Query Log jest przeznaczony wyłącznie dla systemów baz danych MySQL i MariaDB. Chociaż inne systemy zarządzania bazami danych mogą oferować porównywalne funkcje, należy pamiętać, że format dziennika i metody aktywacji mogą się różnić w zależności od systemu.