Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

innotop - Online w chmurze

Uruchom innotop u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

To jest polecenie innotop, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


innotop - Monitor transakcji/stanu MySQL i InnoDB.

STRESZCZENIE


Aby normalnie monitorować serwery:

innotop

Aby monitorować informacje o stanie InnoDB z pliku:

innotop /var/log/mysql/mysqld.err

Aby uruchomić innotop w sposób nieinteraktywny w konfiguracji rury i filtra:

innotop --liczba 5 -d 1 -n

Aby monitorować bazę danych w innym systemie przy użyciu określonej nazwy użytkownika i hasła:

innotop -u -P -h

OPIS


innotop monitoruje serwery MySQL. Każdy z jego trybów pokazuje inny aspekt tego, co jest
dzieje się na serwerze. Na przykład jest tryb monitorowania replikacji, jeden dla
zapytania i jeden dla transakcji. innotop okresowo odświeża swoje dane, więc widzisz
aktualizowanie widoku.

innotop ma wiele funkcji dla zaawansowanych użytkowników, ale możesz go uruchomić i uruchomić wirtualnie
brak konfiguracji. Jeśli dopiero zaczynasz, zobacz „SZYBKI START”. Naciskać '?' w jakimkolwiek
czas podczas uruchamiania innotop, aby uzyskać pomoc kontekstową.

SZYBKI START


Aby uruchomić innotop, otwórz terminal lub wiersz polecenia. Jeśli zainstalowałeś innotop na
Twój system, powinieneś być w stanie po prostu wpisać „innotop” i nacisnąć Enter; inaczej, ty
będzie musiał przejść do katalogu innotop i wpisać "perl innotop".

Bez określonych opcji innotop spróbuje połączyć się z serwerem MySQL na hoście lokalnym
używając mysql_read_default_group=client dla innych parametrów połączenia. Jeśli potrzebujesz
określ inną nazwę użytkownika i hasło, użyj odpowiednio opcji -u i -p. Do
monitorować bazę danych MySQL na innym hoście, użyj opcji -h.

Po nawiązaniu połączenia innotop powinien pokazać coś takiego:

[RO] Lista zapytań (? o pomoc) localhost, 01:11:19, 449.44 QPS, 14/7/163 con/run

CXN Przy ładowaniu QPS Wolne QCacheHit KCacheHit BpsIn BpsOut
gospodarz lokalny Razem 0.00 1.07 tys. 697 0.00% 98.17% 476.83 tys. 242.83 tys

CXN Cmd ID Zapytanie o czas bazy danych hosta użytkownika
localhost Zapytanie 766446598 test 10.0.0.1 foo 00:02 WSTAW DO tabeli (

(Ten przykład jest obcięty po prawej stronie, więc zmieści się na terminalu podczas uruchamiania 'man
innotop”)

Jeśli twój serwer jest zajęty, zobaczysz więcej danych wyjściowych. Zwróć uwagę na pierwszą linię na ekranie,
co mówi, że readonly jest ustawione na true ([RO]), w jakim trybie jesteś i na jakim serwerze
jesteś połączony. Możesz przejść do innych trybów za pomocą klawiszy; naciśnij „T”, aby przełączyć
na przykład do listy transakcji InnoDB.

Wciśnij '?' aby zobaczyć, które klawisze są aktywne w bieżącym trybie. Możesz nacisnąć dowolny z
te klawisze i innotop wykonają żądaną akcję lub poproszą o więcej danych wejściowych.
Jeśli twój system obsługuje Term::ReadLine, możesz użyć TAB i innych klawiszy do automatycznego uzupełniania
i edytuj dane wejściowe.

Aby wyjść z innotop, naciśnij klawisz 'q'.

OPCJE


innotop jest głównie konfigurowany za pomocą pliku konfiguracyjnego, ale niektóre z konfiguracji
opcje mogą pochodzić z wiersza poleceń. Możesz także określić plik do monitorowania dla InnoDB
wyjście stanu; zobacz "MONITOROWANIE PLIKU", aby uzyskać więcej informacji.

Niektóre opcje można zanegować, poprzedzając nazwę opcji przedrostkiem --no. Na przykład --noinc
(lub --no-inc) neguje "--inc".

--kolor
Włącz lub wyłącz kolorowanie terminala. Odpowiada ustawieniu pliku konfiguracyjnego „kolor”.

--konfig
Określa plik konfiguracyjny do odczytu. Ta opcja jest nieklejąca, to znaczy tak
nie utrzymuje się w samym pliku konfiguracyjnym.

--liczyć
Odśwież tylko określoną liczbę razy (zaznaczenia) przed wyjściem. Każde odświeżenie to
pauza na „interwał” sekund, po której następuje żądanie danych z połączeń MySQL i
drukowanie go na terminalu.

--opóźnienie
Określa czas przerwy między tikami (odświeżanie). Odpowiada
opcja konfiguracji „interwał”.

--help
Wydrukuj podsumowanie użycia wiersza poleceń i zakończ.

--gospodarz
Host, z którym chcesz się połączyć.

--inc
Określa, czy innotop powinien wyświetlać liczby bezwzględne czy względne (przesunięcia
z ich poprzednich wartości). Odpowiada opcji konfiguracyjnej „status_inc”.

--tryb
Określa tryb, w którym innotop powinien się uruchamiać. Odpowiada konfiguracji
opcja „tryb”.

--nieint
Włącz działanie nieinteraktywne. Aby uzyskać więcej informacji, zobacz „OPERACJA BEZ INTERAKTYWNOŚCI”.

--hasło
Hasło do połączenia.

--Port
Port używany do połączenia.

--centrum
Nie czytaj centralnego pliku konfiguracyjnego.

--użytkownik
Użytkownik używany do połączenia.

--wersja
Wypisz informacje o wersji i zakończ.

--pisać
Ustawia opcję konfiguracji "readonly" na 0, dzięki czemu innotop zapisuje uruchomione
konfiguracja do ~/.innotop/innotop.conf przy wyjściu, jeśli nie został załadowany żaden plik konfiguracyjny
Podczas uruchamiania.

SKRÓTY


innotop jest interaktywny i można nim sterować za pomocą naciśnięć klawiszy.

· Klawisze pisane wielkimi literami przełączają tryby.

· Klawisze pisane małymi literami inicjują jakąś akcję w bieżącym trybie.

· Inne klucze robią coś specjalnego, jak zmiana konfiguracji lub pokazywanie licencji innotop.

Naciskać '?' w dowolnym momencie, aby zobaczyć aktualnie aktywne klucze i ich działanie.

TRYBY


Każdy z trybów innotop pobiera i wyświetla określony typ danych z serwerów
monitorujesz. Przełączasz się między trybami za pomocą klawiszy pisanych wielkimi literami. Poniżej znajduje się
krótki opis każdego trybu w kolejności alfabetycznej. Aby przejść do trybu, naciśnij
klucz wymieniony przed jego nagłówkiem na poniższej liście:

B: Bufory InnoDB
Ten tryb wyświetla informacje o puli buforów InnoDB, statystykach strony, wstawianiu
bufor i adaptacyjny indeks skrótu. Dane pochodzą z SHOW INNODB STATUS.

Ten tryb zawiera „buffer_pool”, „page_statistics”, „insert_buffers” i
Tabele „adaptive_hash_index” domyślnie.

C: Podsumowanie poleceń
Ten tryb jest podobny do trybu podsumowania poleceń w mytop. Pokazuje „cmd_summary”
tabela, która wygląda mniej więcej tak:

Podsumowanie poleceń (? dla pomocy) localhost, 25+07:16:43, 2.45 QPS, 3thd, 5.0.40
_____________________ Podsumowanie poleceń _____________________
Nazwa Wartość Pkt Ostatni przyrost Pkt
Select_scan 3244858 69.89% 2 100.00%
Wybierz zakres 1354177 29.17% 0 0.00%
Select_full_join 39479 0.85% 0 0.00%
Select_full_range_join 4097 0.09% 0 0.00%
Select_range_check 0 0.00% 0 0.00%

Tabela podsumowania poleceń jest budowana przez wyodrębnienie zmiennych z „STATUS_VARIABLES”.
Zmienne muszą być numeryczne i muszą odpowiadać przedrostkowi podanemu przez „cmd_filter”
zmienna konfiguracyjna. Zmienne są następnie sortowane według wartości malejąco i
w porównaniu z ostatnią zmienną, jak pokazano powyżej. Kolumny procentowe są procentami
sumy wszystkich zmiennych w tabeli, dzięki czemu można zobaczyć względną wagę
zmiennych.

Przykład pokazuje, co widzisz, jeśli przedrostek to „Wybierz_”. Domyślny prefiks to
„Com_”. Możesz wybrać prefiks za pomocą klawisza 's'.

To trochę tak, jakby uruchomić SHOW VARIABLES LIKE "prefix%" z pamięcią i ładnie
formatowanie.

Wartości są agregowane na wszystkich serwerach. Kolumny Pct nie są poprawne
zagregowane na wielu serwerach. Jest to znane ograniczenie grupowania
algorytm, który może zostać naprawiony w przyszłości.

D: Zakleszczenia InnoDB
Ten tryb pokazuje transakcje związane z ostatnim zakleszczeniem InnoDB. Drugi stół
pokazuje blokady, na które czekała każda transakcja. Zakleszczenie spowodowane cyklem
na wykresie oczekiwania na, więc powinny być dwie zablokowane blokady i jedna oczekiwana, chyba że
informacje o zakleszczeniu są obcinane.

InnoDB umieszcza informacje o zakleszczeniu przed innymi informacjami w SHOW INNODB
Wyjście STATUS. Jeśli jest dużo blokad, informacje o zakleszczeniu mogą wzrosnąć bardzo
duże i istnieje ograniczenie rozmiaru danych wyjściowych SHOW INNODB STATUS. Duża
zakleszczenie może wypełnić całe wyjście, a nawet zostać skrócone i uniemożliwić zobaczenie
inne informacje. Jeśli uruchamiasz innotop w innym trybie, na przykład T
tryb i nagle nic nie widzisz, możesz chcieć sprawdzić i zobaczyć, czy
impas wymazał dane, których potrzebujesz.

Jeśli tak, możesz stworzyć mały impas, aby zastąpić duży. Użyj klawisza „w”
aby „wytrzeć” duży impas małym. To nie zadziała, chyba że masz
zdefiniowano tabelę zakleszczeń dla połączenia (patrz "POŁĄCZENIA SERWERA").

Możesz także skonfigurować innotop, aby automatycznie wykrywał, kiedy konieczne jest duże zakleszczenie
zastąpić małym (patrz "auto_wipe_dl").

Ten tryb domyślnie wyświetla tabele "deadlock_transactions" i "deadlock_locks".

F: Błędy kluczy obcych InnoDB
W tym trybie wyświetlane są informacje o ostatnim błędzie klucza obcego InnoDB, takie jak tabela, w której
zdarzyło się, kiedy, kto i jakie zapytanie to spowodowało i tak dalej.

InnoDB ma ogromną różnorodność komunikatów o błędach kluczy obcych, a wiele z nich to po prostu
trudne do przeanalizowania. innotop nie zawsze wykonuje tutaj najlepszą robotę, ale jest tak dużo kodu
poświęcona analizowaniu tego niechlujnego, niemożliwego do przeanalizowania wyniku, którego innotop prawdopodobnie nigdy nie będzie
doskonały pod tym względem. Jeśli innotop nie pokaże Ci tego, co musisz zobaczyć, po prostu spójrz
bezpośrednio w tekście statusu.

Ten tryb domyślnie wyświetla tabelę "fk_error".

I: Informacje we/wy InnoDB
Ten tryb pokazuje statystyki I/O InnoDB, w tym wątki I/O, oczekujące I/O, plik
Różne operacje we/wy i statystyki dzienników. Wyświetla "o_threads", "pending_io",
Domyślnie tabele „file_io_misc” i „log_statistics”.

L: Zamki
Ten tryb pokazuje informacje o aktualnych blokadach. W tej chwili tylko zamki InnoDB są
obsługiwane i domyślnie zobaczysz tylko blokady, na które oczekują transakcje.
Ta informacja pochodzi z sekcji TRANSAKCJE tekstu statusu InnoDB. Jeśli
masz bardzo zajęty serwer, możesz często czekać na blokadę; pomaga umieć
zobacz, które tabele i indeksy są „gorącym punktem” dla blokad. Jeśli Twój serwer działa
całkiem dobrze, ten tryb nie powinien nic pokazywać.

Możesz skonfigurować MySQL i innotop, aby monitorować nie tylko blokady, dla których transakcja
czeka, ale te obecnie przetrzymywane też. Możesz to zrobić za pomocą blokady InnoDB
Monitoruj (http://dev.mysql.com/doc/en/innodb-monitor.html>). To nie jest udokumentowane w
podręcznik MySQL, ale tworzenie monitora blokady również z następującym stwierdzeniem
wpływa na wyjście SHOW INNODB STATUS, którego innotop używa:

UTWÓRZ TABELĘ innodb_lock_monitor(a int) ENGINE=INNODB;

Powoduje to, że InnoDB drukuje swoje dane wyjściowe do pliku MySQL co około 16 sekund, ponieważ
określone w instrukcji, ale powoduje to również, że normalne wyjście SHOW INNODB STATUS zawiera
informacje o blokadzie, które innotop może analizować i wyświetlać (to nieudokumentowane)
Funkcja).

Oznacza to, że możesz zrobić to, co wydawało się niemożliwe: w ograniczonym zakresie (InnoDB
obcina niektóre informacje w danych wyjściowych), możesz zobaczyć, która transakcja zawiera
blokuje coś, na co czeka. Możesz także włączyć i wyłączyć blokadę InnoDB
Monitoruj z mapowaniami klawiszy w tym trybie.

Ten tryb domyślnie wyświetla tabelę "innodb_locks". Oto próbka ekranu
gdy jedno połączenie czeka na blokady, inne połączenie jest zawieszone:

_________________________________ Blokady InnoDB _________________________
CXN ID Typ Oczekiwanie Oczekiwanie Tryb aktywny Indeks tabeli bazy danych
localhost 12 ZAPIS 1 00:10 00:10 X test t1 PODSTAWOWY
localhost 12 TABELA 0 00:10 00:10 IX test t1
localhost 12 ZAPIS 1 00:10 00:10 X test t1 PODSTAWOWY
localhost 11 TABELA 0 00:00 00:25 IX test t1
localhost 11 ZAPIS 0 00:00 00:25 X test t1 PODSTAWOWY

Widać, że pierwsze połączenie, ID 12, czeka na blokadę na kluczu PRIMARY włączonym
test.t1 i czeka 10 sekund. Drugie połączenie nie czeka,
ponieważ kolumna Oczekiwanie ma wartość 0, ale zawiera blokady na tym samym indeksie. To ci mówi
połączenie 11 blokuje połączenie 12.

M: Status replikacji Master/Slave
Ten tryb pokazuje wyjście SHOW SLAVE STATUS i SHOW MASTER STATUS w trzech
tabele. Pierwsze dwa dzielą status urządzenia podrzędnego na status wątku SQL i we/wy, oraz
ostatni pokazuje status mastera. Filtry są stosowane w celu wyeliminowania serwerów niepodrzędnych z
tabele slave i serwery inne niż master z tabeli master.

Ten tryb wyświetla "slave_sql_status", "slave_io_status" i "master_status"
tabele domyślnie.

O: Otwarte Stoły
Ta sekcja pochodzi z polecenia SHOW OPEN TABLES w MySQL. Domyślnie jest filtrowany
aby pokazać tabele, które są używane przez jedno lub więcej zapytań, dzięki czemu można szybko na nie spojrzeć
które stoły są „gorące”. Możesz użyć tego do odgadnięcia, które stoły mogą być zablokowane
niejawnie.

Ten tryb domyślnie wyświetla tryb „open_tables”.

P: Lista zapytań
Ten tryb wyświetla dane wyjściowe z POKAŻ PEŁNĄ LISTĘ PROCESÓW, podobnie jak mójtop'lista zapytań
tryb. Ten tryb nie nie pokaż informacje związane z InnoDB. To prawdopodobnie jeden z
najbardziej przydatne tryby do ogólnego użytku.

Istnieje informacyjny nagłówek, który pokazuje ogólne informacje o stanie Twojego
serwer. Możesz go włączać i wyłączać klawiszem „h”. Domyślnie innotop się ukrywa
procesy nieaktywne i własny proces. Możesz je włączać i wyłączać za pomocą „i”
i klawisze „a”.

Możesz WYJAŚNIĆ zapytanie z tego trybu za pomocą klawisza 'e'. Spowoduje to wyświetlenie zapytania
pełny tekst, wyniki EXPLAIN, a w nowszych wersjach MySQL nawet zoptymalizowane
zapytanie wynikające z polecenia EXPLAIN EXTENDED. innotop również próbuje przepisać niektóre zapytania
aby je WYJAŚNIĆ. Na przykład instrukcje INSERT/SELECT można ponownie zapisać.

Ten tryb domyślnie wyświetla tabele "q_header" i "processlist".

R: Operacje na wierszach i semafory InnoDB
Ten tryb pokazuje operacje na wierszach InnoDB, różne operacje na wierszach, semafory i
informacje z tablicy oczekiwania. Wyświetla "row_operations",
Domyślnie tabele „row_operation_misc”, „semaphores” i „wait_array”.

S: Zmienne i status
Ten tryb oblicza statystyki, takie jak zapytania na sekundę, i drukuje je w
kilka różnych stylów. Możesz pokazać wartości bezwzględne lub wartości przyrostowe między
kleszcze.

Możesz przełączać się między widokami, naciskając klawisz. Klawisz „s” drukuje pojedynczą linię
za każdym razem, gdy ekran się aktualizuje, w stylu vmstat. Klawisz „g” zmienia widok na
wykres tych samych liczb, coś w rodzaju ładować. Klawisz „v” zmienia widok na a
obrotowa tabela nazw zmiennych po lewej stronie, z przewijaniem kolejnych aktualizacji
ekran od lewej do prawej. Możesz wybrać, ile aktualizacji chcesz umieścić na ekranie
ze zmienną konfiguracyjną „num_status_sets”.

Nagłówki mogą być skracane, aby zmieściły się na ekranie podczas operacji interaktywnej. Ty wybierasz
które zmienne wyświetlić za pomocą klawisza „c”, który wybiera z predefiniowanych zestawów, lub
pozwala tworzyć własne zestawy. Możesz edytować aktualny zestaw za pomocą klawisza 'e'.

Ten tryb tak naprawdę nie wyświetla żadnych tabel, jak w innych trybach. Zamiast tego używa
definicję tabeli, aby wyodrębnić i sformatować dane, ale następnie przekształca wynik w
specjalne sposoby przed wysłaniem go. Używa definicji tabeli "var_status" dla
to.

T: Transakcje InnoDB
Ten tryb pokazuje transakcje z wyjścia monitora InnoDB, w Toppodobny do formatu.
Ten tryb jest powodem, dla którego napisałem wnotop.

Możesz zabijać zapytania lub procesy za pomocą klawiszy „k” i „x”, a WYJAŚNIJ zapytanie za pomocą
klawisze „e” lub „f”. InnoDB nie drukuje pełnego zapytania w transakcjach, więc
wyjaśnianie może nie działać poprawnie, jeśli zapytanie jest obcięte.

Nagłówek informacyjny można włączać i wyłączać klawiszem „h”. Domyślnie,
innotop ukrywa nieaktywne transakcje i własną transakcję. Możesz to włączyć
i wyłączyć za pomocą klawiszy „i” i „a”.

W tym trybie domyślnie wyświetlane są tabele „t_header” i „innodb_transactions”.

INNOTOPA STATUS


Pierwszy wiersz wyświetlacza innotop to swego rodzaju „pasek stanu”. Od tego, co zawiera, zależy
w jakim trybie się znajdujesz i jakie serwery monitorujesz. Pierwsze kilka słów to zawsze
[RO] (jeśli readonly jest ustawione na 1), tryb innotop, taki jak "InnoDB Txns" dla trybu T,
po którym następuje przypomnienie, aby nacisnąć „?” o pomoc w każdej chwili.

ONE SERVER
Najprostszym przypadkiem jest monitorowanie pojedynczego serwera. W tym przypadku nazwa
połączenie jest następne w wierszu stanu. To jest nazwa, którą nadałeś podczas tworzenia
połączenie — najprawdopodobniej nazwa hosta serwera MySQL. Po nim następuje nazwa serwera
dyspozycyjność.

Jeśli jesteś w trybie InnoDB, takim jak T lub B, następnym słowem jest „InnoDB”, po którym następuje kilka
informacje o wyjściu SHOW INNODB STATUS używanym do renderowania ekranu. Pierwsze słowo
to liczba sekund od ostatniego SHOW INNODB STATUS, którego InnoDB używa do obliczenia
niektóre statystyki na sekundę. Następna to uśmiechnięta buźka wskazująca, czy InnoDB
dane wyjściowe są obcinane. Jeśli uśmiechnięta buźka to :-), wszystko jest w porządku; nie ma obcinania. A
:^| oznacza, że ​​lista transakcji jest tak długa, że ​​InnoDB wydrukowało tylko niektóre
transakcje. Na koniec zmarszczenie brwi :-( oznacza, że ​​dane wyjściowe są niekompletne, co prawdopodobnie jest należne
do zakleszczenia drukowania zbyt wielu informacji o blokadzie (patrz „D: Zakleszczenia InnoDB”).

Kolejne dwa słowa wskazują zapytania serwera na sekundę (QPS) i ile wątków
(połączenia) istnieją. Wreszcie numer wersji serwera jest ostatnią rzeczą w linii.

WIELOKROTNOŚĆ SERWERY
Jeśli monitorujesz wiele serwerów (patrz „POŁĄCZENIA SERWERA”), wiersz stanu nie:
nie pokazuj żadnych szczegółów dotyczących poszczególnych serwerów. Zamiast tego pokazuje nazwy
aktywnych połączeń. Ponownie, są to określone przez Ciebie nazwy połączeń, które są
prawdopodobnie będzie to nazwa hosta serwera. Połączenie z błędem jest poprzedzone
wykrzyknik.

Jeśli monitorujesz grupę serwerów (patrz „GRUPY SERWERÓW”), wiersz stanu pokazuje:
nazwa grupy. Jeśli jakiekolwiek połączenie w grupie ma błąd, nazwa grupy to
po którym następuje ułamek połączeń, w których nie występują błędy.

Więcej informacji na temat obsługi błędów przez innotop można znaleźć w sekcji „OBSŁUGA BŁĘDÓW”.

MONITOROWANIE A FILE
Jeśli podasz nazwę pliku w wierszu poleceń, innotop nie połączy się z ŻADNYMI serwerami w
Wszystko. Będzie obserwował określony plik pod kątem wyjścia statusu InnoDB i użyje go jako swoich danych
źródło. Zawsze pokaże jedno połączenie o nazwie „plik”. A ponieważ nie może
połączyć się z serwerem, nie może określić, jak długo monitorowany serwer działał;
więc oblicza czas działania serwera jako czas od rozpoczęcia działania innotop.

SERVER ADMINISTRACJA


Chociaż innotop to przede wszystkim monitor, który pozwala oglądać i analizować serwery, może:
wysyłają również polecenia do serwerów. Najczęściej przydatne polecenia to zabijanie zapytań
i zatrzymywanie lub uruchamianie niewolników.

Możesz zabić połączenie lub w nowszych wersjach MySQL zabić zapytanie, ale nie
połączenie, z trybów "Q: Query List" i "T: InnoDB Transactions". Naciśnij „k”, aby wydać
KILL polecenie lub 'x', aby wydać polecenie KILL QUERY. innotop poprosi Cię o
identyfikator serwera i/lub połączenia do zabicia (innotop nie wyświetla monitu, jeśli jest tylko jeden)
możliwy wybór dla dowolnego wejścia). innotop wstępnie wybiera najdłużej działające zapytanie lub
najstarsze połączenie. Potwierdź polecenie za pomocą 'y'.

W „Slave Replication Status”” w „M: Master mode” możesz uruchamiać i zatrzymywać slave'y za pomocą
odpowiednio klawisze „a” i „o”. Możesz wysłać te polecenia do wielu niewolników naraz.
innotop wypełnia domyślną komendę START SLAVE lub STOP SLAVE, ale możesz
faktycznie edytuj polecenie i wyślij wszystko, co chcesz, na przykład SET GLOBAL
SQL_SLAVE_SKIP_COUNTER=1, aby urządzenie podrzędne pominęło jedno zdarzenie dziennika binarnego podczas uruchamiania.

Możesz również poprosić innotop o obliczenie najwcześniejszego binlogu używanego przez dowolnego niewolnika i wydanie a
OCZYSZCZANIE LOGÓW GŁÓWNYCH na urządzeniu głównym. Użyj do tego klawisza „b”. innotop poprosi Cię o
master, na którym ma uruchomić polecenie, a następnie zapyta o nazwy połączeń tego mastera
niewolników (innotop nie ma możliwości samodzielnego określenia tego w sposób wiarygodny). innotop znajdzie
minimalny binlog używany przez te połączenia podrzędne i zasugeruj go jako argument do
OCZYSZCZANIE DZIENNIKÓW GŁÓWNYCH.

SERVER POŁĄCZENIA


Kiedy tworzysz połączenie z serwerem za pomocą „@”, innotop poprosi Cię o szereg danych wejściowych, ponieważ
następuje:

DSN DSN to nazwa źródła danych, która jest początkowym argumentem przekazywanym do modułu DBI
do łączenia się z serwerem. Zwykle ma formę

DBI:mysql:;mysql_read_default_group=mysql;host=NAZWA HOSTA

Ponieważ ten DSN jest przekazywany do sterownika DBD::mysql, powinieneś przeczytać jego
dokumentacja pod adresem „/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm”” w „http: dla
dokładne szczegóły dotyczące wszystkich opcji, które możesz przekazać kierowcy w DSN. Możesz czytać
więcej o DBI nahttp://dbi.perl.org/docs/>, a zwłaszcza na
<http://search.cpan.org/~timb/DBI/DBI.pm>.

Opcja mysql_read_default_group=mysql umożliwia sterownikowi DBD odczytywanie opcji MySQL
pliki, takie jak ~/.mój.cnf w systemach UNIX-owych. Możesz tego użyć, aby uniknąć określania
nazwę użytkownika lub hasło do połączenia.

Tabela zakleszczeń InnoDB
Ta opcjonalna pozycja informuje innotop o nazwie tabeli, której może użyć do celowego utworzenia
małe zakleszczenie (patrz „D: Zakleszczenia InnoDB”). Jeśli określisz tę opcję, po prostu potrzebujesz
aby upewnić się, że tabela nie istnieje i że innotop może utworzyć i upuścić tabelę
z silnikiem przechowywania InnoDB. Możesz bezpiecznie pominąć lub po prostu zaakceptować ustawienie domyślne, jeśli:
nie zamierzam tego używać.

Użytkownik
innotop zapyta Cię, czy chcesz podać nazwę użytkownika. Jeśli powiesz „tak”, to będzie
monit o podanie nazwy użytkownika. Jeśli masz plik opcji MySQL, który określa twój
nazwę użytkownika, nie musisz podawać nazwy użytkownika.

Nazwa użytkownika domyślnie odpowiada Twojej nazwie logowania w systemie, na którym pracujesz innotop.

Hasło
innotop zapyta Cię, czy chcesz podać hasło. Podobnie jak nazwa użytkownika,
hasło jest opcjonalne, ale pojawia się dodatkowy monit z pytaniem, czy chcesz zapisać
hasło w pliku konfiguracyjnym innotop. Jeśli nie zapiszesz go w
plik konfiguracyjny, innotop będzie prosić o hasło przy każdym uruchomieniu.
Hasła w pliku konfiguracyjnym innotop są zapisywane w postaci zwykłego tekstu, nie są szyfrowane w
tak czy inaczej.

Gdy skończysz odpowiadać na te pytania, powinieneś połączyć się z serwerem. Ale
innotop nie ogranicza się do monitorowania pojedynczego serwera; możesz zdefiniować wiele serwerów
połączenia i przełączaj się między nimi, naciskając klawisz „@”. Zobacz „PRZEŁĄCZANIE MIĘDZY
ZNAJOMOŚCI".

SERVER GRUPY


Jeśli masz wiele instancji MySQL, możesz umieścić je w nazwanych grupach, takich jak „wszystkie”,
„mistrzów” i „niewolników”, których innotop może monitorować razem.

Możesz wybrać, którą grupę monitorować za pomocą klawisza „#”, a możesz nacisnąć klawisz TAB, aby
przejdź do następnej grupy. Jeśli aktualnie nie monitorujesz grupy, naciśnij TAB
wybiera pierwszą grupę.

Aby utworzyć grupę, naciśnij klawisz „#” i wpisz nazwę nowej grupy, a następnie wpisz
nazwy połączeń, które ma zawierać grupa.

PRZEŁĄCZANIE MIĘDZY POŁĄCZENIA


innotop pozwala szybko zmienić monitorowane serwery. Najbardziej podstawowym sposobem jest
naciskając klawisz „@” i wpisując nazwy połączeń, których chcesz użyć. Ten
ustawienie jest dla każdego trybu, więc możesz monitorować różne połączenia w każdym trybie, a innotop
zapamiętuje wybrane połączenia.

Możesz szybko przełączyć się na 'następne' połączenie w kolejności alfabetycznej za pomocą klawisza 'n'.
Jeśli monitorujesz grupę serwerów (patrz „GRUPY SERWERÓW”), nastąpi przełączenie na pierwszą
połączenia.

Możesz także wpisać wiele nazw połączeń, a innotop pobierze i wyświetli z nich dane
Wszystko. Po prostu oddziel nazwy połączeń spacjami, na przykład „serwer1 serwer2”.
Ponownie, jeśli wpiszesz nazwę połączenia, które nie istnieje, innotop wyświetli monit
aby uzyskać informacje o połączeniu i utworzyć połączenie.

Innym sposobem monitorowania wielu połączeń naraz jest użycie grup serwerów. Możesz użyć
klawisz TAB, aby przejść do „następnej” grupy w kolejności alfabetycznej lub jeśli nie jesteś
monitorując dowolne grupy, TAB przełączy się na pierwszą grupę.

innotop nie pobiera danych równolegle z połączeń, więc jeśli monitorujesz duży
grupy lub wielu połączeń, możesz zauważyć zwiększone opóźnienie między tikami.

Gdy monitorujesz więcej niż jedno połączenie, zmienia się pasek stanu w innotop. Zobacz „INNOTOP
STATUS".

BŁĄD OBSŁUGA


Obsługa błędów nie jest tak ważna przy monitorowaniu pojedynczego połączenia, ale jest kluczowa
gdy masz wiele aktywnych połączeń. Awaria serwera lub utrata połączenia nie powinny
crash innotop. W rezultacie innotop będzie nadal działać, nawet jeśli wystąpi błąd; to
po prostu nie wyświetli żadnych informacji z połączenia, w którym wystąpił błąd. Z powodu
to zachowanie innotop może Cię zmylić. To funkcja, a nie błąd!

innotop nie kontynuuje odpytywania połączeń z błędami, ponieważ mogą one spowalniać
innotop i utrudniają korzystanie, zwłaszcza jeśli błąd to problem z połączeniem i
powoduje długi czas oczekiwania. Zamiast tego innotop od czasu do czasu ponawia połączenie, aby sprawdzić, czy
błąd nadal istnieje. Jeśli tak, poczeka do pewnego momentu w przyszłości. Oczekiwanie
czas zwiększa się w kleszczy jak seria Fibonacciego, więc próbuje rzadziej jak czas
Karnety.

Ponieważ błędy mogą wystąpić tylko w niektórych trybach z powodu poleceń SQL wydanych w
te tryby, innotop śledzi, który tryb spowodował błąd. Jeśli przełączysz się na
inny tryb, innotop spróbuje ponownie nawiązać połączenie zamiast czekać.

Domyślnie innotop wyświetla problem w kolorze czerwonym na dole pierwszej tabeli
na ekranie. Możesz wyłączyć to zachowanie za pomocą "show_cxn_errors_in_tbl"
opcja konfiguracji, która jest domyślnie włączona. Jeśli włączona jest opcja "debugowania",
innotop wyświetli błąd na dole każdej tabeli, nie tylko pierwszej. I jeśli
"show_cxn_errors" jest włączone, innotop wypisze tekst błędu również na STDOUT. Błąd
komunikaty mogą być wyświetlane tylko w trybie, który spowodował błąd, w zależności od trybu i
czy innotop unika odpytywania tego połączenia.

NIEINTERAKTYWNY OPERACJA


Możesz uruchomić innotop w trybie nieinteraktywnym, w którym to przypadku jest on całkowicie kontrolowany z
plik konfiguracyjny i opcje wiersza polecenia. Aby rozpocząć innotop w trybie nieinteraktywnym
trybu, podaj opcję wiersza poleceń L"<--nonint">. Zmienia to zachowanie innotop w
następujące sposoby:

· Niektóre moduły Perla nie są ładowane. Termin::Readline nie jest załadowany, ponieważ innotop
nie wyświetla monitu interaktywnego. Termin::ANSIColor i moduły Win32::Console::ANSI są
nie załadowano. Term::ReadKey jest nadal używany, ponieważ innotop może poprosić o
hasła połączenia podczas uruchamiania.

· innotop nie czyści ekranu po każdym tiku.

· innotop nie utrwala żadnych zmian w pliku konfiguracyjnym.

· Jeśli podano "--count" i innotop jest w trybie przyrostowym (patrz "status_inc" i
"--inc"), innotop faktycznie odświeża jeden raz więcej niż określono, aby mógł drukować
statystyki przyrostowe. To tłumi wyjście podczas pierwszego tiku, więc innotop może
wydają się wisieć.

· innotop wyświetla tylko pierwszą tabelę w każdym trybie. Dzięki temu dane wyjściowe mogą być
łatwo przetwarzać za pomocą innych narzędzi wiersza poleceń, takich jak awk i sed. Zmienić
które tabele są wyświetlane w każdym trybie, patrz „TABELA”. Ponieważ tryb „P: Lista zapytań” jest taki
ważne, innotop automatycznie wyłącza tabelę "q_header". Gwarantuje to, że będziesz
zobacz tabelę "processlist", nawet jeśli innotop jest skonfigurowany do wyświetlania q_header
stół podczas operacji interaktywnej. Podobnie w trybie „T: InnoDB Transactions”,
Tabela „t_header” jest pominięta, więc widzisz tylko tabelę „innodb_transactions”.

· Wszystkie dane wyjściowe są oddzielone tabulatorami, zamiast wyrównane w kolumnie z białymi znakami, oraz
innotop drukuje pełną zawartość każdej tabeli zamiast drukowania tylko jednego ekranu
na czas.

· innotop wypisuje nagłówki kolumn tylko raz zamiast każdego tiku (patrz "hide_hdr").
innotop nie drukuje podpisów tabel (zobacz „display_table_captions”). innotop zapewnia
na wyjściu nie ma pustych wierszy.

· innotop nie honoruje "skróconej" transformacji, która normalnie skraca niektóre
liczb do formatów czytelnych dla człowieka.

· innotop nie drukuje linii statusu (patrz "INNOTOP STATUS").

KONFIGUROWANIE


Prawie wszystko w innotop można konfigurować. Większość rzeczy można zmienić za pomocą
wbudowane polecenia, ale można też edytować plik konfiguracyjny.

Podczas uruchamiania programu innotop naciśnij klawisz „$”, aby wyświetlić okno dialogowe edycji konfiguracji.
Naciśnij inny klawisz, aby wybrać typ danych, które chcesz edytować:

S: Oświadczenie o czasie snu
Edytuje opóźnienia uśpienia instrukcji SQL, które powodują wstrzymanie innotop na określoną kwotę
czas po zrealizowaniu oświadczenia. Zobacz "SPRAWOZDANIA SQL", aby uzyskać definicję każdego z nich
oświadczenie i co robi. Domyślnie innotop nie opóźnia żadnych oświadczeń.

Ta funkcja jest dostępna, dzięki czemu możesz dostosować skutki uboczne spowodowane monitorowaniem
Twój serwer. Możesz nie widzieć żadnych efektów, ale niektórzy innotop użytkownicy to zauważyli
niektóre wersje MySQL pod bardzo dużym obciążeniem z włączoną obsługą InnoDB trwają dłużej niż zwykle
aby wykonać polecenie POKAŻ STAN GLOBALNY. Jeśli innotop natychmiast zadzwoni POKAŻ PEŁNĄ LISTĘ PROCESÓW
później lista procesów zawiera więcej zapytań, niż maszyna faktycznie ma średnią w
w każdej chwili. Konfigurowanie innotop do krótkiej pauzy po wywołaniu SHOW GLOBAL
STATUS łagodzi ten efekt.

Czasy uśpienia są przechowywane w sekcji „stmt_sleep_times” pliku konfiguracyjnego.
Obsługiwane są tryby uśpienia ułamków sekundy, w zależności od ograniczeń sprzętowych.

c: Edytuj kolumny
Uruchamia edytor tabel na jednej z wyświetlonych tabel. Zobacz "EDYTOR TABEL". jakiś
Alternatywnym sposobem uruchomienia edytora tabel bez wchodzenia do okna konfiguracji jest
klawiszem '^'.

g: Konfiguracja ogólna
Uruchamia edytor konfiguracji, aby edytować konfigurację globalną i konfigurację specyficzną dla trybu
zmienne (patrz "TRYBY"). innotop prosi o wybranie zmiennej spośród
globalne i specyficzne dla trybu w zależności od bieżącego trybu.

k: Zasady kolorowania wierszy
Uruchamia edytor reguł kolorowania wierszy w jednej z wyświetlonych tabel. Zobacz "KOLORY"
dla szczegółów.

p: Zarządzaj wtyczkami
Uruchamia edytor konfiguracji wtyczki. Zobacz „WTYCZKI”, aby uzyskać szczegółowe informacje.

s: Grupy serwerów
Pozwala tworzyć i edytować grupy serwerów. Zobacz „GRUPY SERWERÓW”.

t: Wybierz wyświetlane tabele
Pozwala wybrać, które tabele mają być wyświetlane w tym trybie. Zobacz „TRYBY” i „TABELA”.

KONFIGURACJA FILE


Domyślne lokalizacje plików konfiguracyjnych innotop to $HOME/.innotop i
/etc/innotop/innotop.conf i są one wyszukiwane w tej kolejności. Jeśli pierwszy
plik konfiguracyjny istnieje, drugi nie zostanie przetworzony. Można je przesłonić za pomocą
opcja wiersza polecenia "--config". Możesz go bezpiecznie edytować ręcznie, jednak innotop czyta
plik konfiguracyjny po uruchomieniu, a jeśli readonly jest ustawione na 0, zapisuje go ponownie
kiedy wyjdzie. Tak więc, jeśli readonly jest ustawione na 0, wszelkie zmiany wprowadzane ręcznie podczas innotop
działa, zostanie utracone.

innotop nie przechowuje całej swojej konfiguracji w pliku konfiguracyjnym. Ma ogromną
zestaw domyślnych wartości konfiguracyjnych, które przechowuje tylko w pamięci, a konfiguracja
plik zastępuje tylko te wartości domyślne. Gdy dostosujesz ustawienie domyślne, innotop
powiadomienia, a następnie zapisuje dostosowania w pliku. Dzięki temu rozmiar pliku jest mniejszy,
ułatwia edycję i ułatwia aktualizacje.

Plik konfiguracyjny jest domyślnie tylko do odczytu. Możesz to zmienić za pomocą "--write". Widzieć
"tylko czytać".

Plik konfiguracyjny jest podzielony na sekcje jak plik INI. Każda sekcja zaczyna się
z [nazwa-sekcji] i kończy się na [/nazwa-sekcji]. Wpisy każdej sekcji mają
różna składnia w zależności od danych, które muszą przechowywać. Komentarze można umieszczać w
plik; każda linia rozpoczynająca się znakiem # jest komentarzem. innotop nie przeczyta
komentarze, więc nie zapisze ich z powrotem do pliku po jego zakończeniu. Komentarze w przeczytaniu-
jednak tylko pliki konfiguracyjne są nadal przydatne.

Pierwsza linia w pliku to numer wersji innotop. Dzięki temu innotop zauważy, kiedy
format pliku nie jest zgodny z poprzednimi wersjami i można go płynnie uaktualniać bez niszczenia swojego
niestandardowa konfiguracja.

Poniższa lista opisuje każdą sekcję pliku konfiguracyjnego i dane, które zawiera
zawiera:

ogólny
Sekcja „general” zawiera globalne zmienne konfiguracyjne i zmienne, które mogą:
być specyficzne dla trybu, ale nie należą do żadnej innej sekcji. Składnia jest prosta
lista klucz=wartość. innotop pisze komentarz nad każdą wartością, aby pomóc Ci edytować plik
ręcznie.

S_funkcja
Steruje prezentacją trybu S (patrz „S: Variables & Status”). Jeśli g, wartości są
wykresy; jeśli s, wartości są jak vmstat; jeśli p, wartości znajdują się w tabeli przestawnej.

S_set
Określa, który zestaw zmiennych ma być wyświetlany w trybie „S: Variables & Status”. Widzieć
„ZESTAWY ZMIENNYCH”.

auto_wipe_dl
Nakazuje innotop automatyczne usuwanie dużych zakleszczeń, gdy je zauważy.
Kiedy tak się stanie, możesz zauważyć niewielkie opóźnienie. Przy następnym tiku będziesz
zazwyczaj widzą informacje, które zostały ucięte z powodu dużego impasu.

charset
Określa, jaki rodzaj znaków można przepuścić przez „no_ctrl_char”
transformacja. Dzięki temu niedrukowalne znaki nie będą mylić terminala
podczas monitorowania zapytań zawierających dane binarne, takie jak obrazy.

Wartość domyślna to „ascii”, co oznacza, że ​​wszystko poza normalnym ASCII jest a
charakter kontrolny. Inne dopuszczalne wartości to „unicode” i „brak”. 'Żaden'
traktuje każdy znak jako znak kontrolny, co może być przydatne do zwijania
WSZYSTKIE pola tekstowe w zapytaniach.

filtr_cmd
To jest prefiks, który filtruje zmienne w trybie „C: Command Summary”.

kolor
Czy dozwolone jest kolorowanie terminala.

cxn_limit czasu
W MySQL w wersji 4.0.3 i nowszych ta zmienna jest używana do ustawienia połączenia
timeout, więc MySQL nie zamyka połączenia, jeśli nie jest używane przez jakiś czas.
Może się tak zdarzyć, ponieważ połączenie nie jest monitorowane w określonym trybie, ponieważ
przykład.

debug
Ta opcja włącza więcej gadatliwych błędów i sprawia, że ​​innotop jest w niektórych przypadkach bardziej rygorystyczny
miejsca. Może pomóc w debugowaniu filtrów i innego kodu zdefiniowanego przez użytkownika. To również
sprawia, że ​​innotop zapisuje dużo informacji do "debugfile" w przypadku awarii.

plik debugowania
Plik, do którego innotop zapisze informacje w przypadku awarii. Widzieć
"PLIKI".

display_table_captions
innotop wyświetla podpis nad większością tabel. Ta zmienna tłumi lub
pokazuje podpisy we wszystkich tabelach globalnie. Niektóre tabele są skonfigurowane z
właściwość hide_caption, która nadpisuje to.

światowy
Czy pokazywać zmienne GLOBALNE i status. innotop tylko próbuje to zrobić
serwery obsługujące opcję GLOBALNY POKAŻ ZMIENNE i POKAŻ STATUS. w
niektóre wersje MySQL, do tego potrzebne są pewne uprawnienia; jeśli nie masz
je, innotop nie będzie w stanie pobrać żadnych zmiennych i danych o stanie. Ten
zmienna konfiguracyjna pozwala uruchomić innotop i pobrać dane, które możesz nawet
bez podwyższonych przywilejów.

Nie mogę już znaleźć ani odtworzyć sytuacji, w której GLOBAL nie był dozwolony, ale ja
wiem, że był jeden.

wykres_znak
Definiuje znak używany podczas rysowania wykresów w trybie „S: Variables & Status”.

podświetlenie_nagłówka
Definiuje sposób wyróżniania nagłówków kolumn. Działa to tylko wtedy, gdy Term::ANSIColor jest
dostępny. Prawidłowe wartości to „pogrubienie” i „podkreślenie”.

ukryj_hdr
Ukrywa nagłówki kolumn globalnie.

interwał
Interwał, z jakim innotop będzie odświeżał swoje dane (tick). Interwał to
zaimplementowany jako czas snu między kleszczami, więc prawdziwy interwał będzie się różnić
w zależności od tego, ile czasu zajmuje innotop pobieranie i renderowanie danych.

Ta zmienna akceptuje ułamki sekundy.

tryb
Tryb, w którym innotop powinien się uruchomić. Dopuszczalne argumenty są takie same jak
naciśnięcia klawiszy, które interaktywnie wybierają tryb. Zobacz "TRYBY".

liczba_cyfr
Ile cyfr pokazać w liczbach ułamkowych i procentach. Zakres tej zmiennej
wynosi od 0 do 9 i można go ustawić bezpośrednio z trybu „S: Variables & Status” za pomocą
klawisze „+” i „-”. Jest używany w „set_precision”, „shorten” i „percent”
przekształcenia.

liczba_stanów_zestawów
Określa, ile zestawów zmiennych stanu ma być wyświetlanych w przestawnym „S: Variables &
Status”. Kontroluje również liczbę starych zestawów zmiennych, które innotop utrzymuje
w swojej pamięci, więc im większa jest ta zmienna, tym więcej pamięci używa innotop.

katalog_wtyczek
Określa, gdzie można znaleźć wtyczki. Domyślnie innotop przechowuje wtyczki w
podkatalog 'plugins' twojego katalogu konfiguracyjnego innotop.

tylko czytać
Czy plik konfiguracyjny jest tylko do odczytu. Nie można tego ustawić interaktywnie.

show_cxn_errors
Powoduje błędy połączenia drukowania innotop na STDOUT. Zobacz "OBSŁUGA BŁĘDÓW".

show_cxn_errors_in_tbl
Wyświetla błędy połączenia innotop jako wiersze w pierwszej tabeli na ekranie. Widzieć
„OBSŁUGA BŁĘDÓW”.

pokaż_procent
Dodaje znak „%” po wartości zwróconej przez przekształcenie „procent”.

Pokaż pasek stanu
Określa, czy wyświetlać pasek stanu na wyświetlaczu. Zobacz „STAN INNOTOP”.

pomiń_innodb
Wyłącza pobieranie SHOW INNODB STATUS w przypadku, gdy serwery nie mają InnoDB
włączone i nie chcesz, aby innotop próbował go pobrać. To też może się przydać
gdy nie masz uprawnienia SUPER, wymaganego do uruchomienia SHOW INNODB STATUS.

status_inc
Czy pokazywać wartości bezwzględne czy przyrostowe dla zmiennych stanu. Przyrostowe
wartości są obliczane jako przesunięcie od ostatniej wartości innotop saw dla tego
zmienny. Jest to ustawienie globalne, ale prawdopodobnie będzie ono zależne od trybu w
jakiś punkt. Obecnie jest honorowany nieco niekonsekwentnie; niektóre tryby nie płacą
uwagę na to.

wtyczki
Ta sekcja zawiera listę nazw pakietów aktywnych wtyczek. Jeśli wtyczka istnieje,
innotop go aktywuje. Zobacz „WTYCZKI”, aby uzyskać więcej informacji.

filtry
Ta sekcja zawiera filtry zdefiniowane przez użytkownika (patrz „FILTRY”). Każda linia jest w formacie
filter_name=text='tekst filtru' tbls='lista tabel'.

Tekst filtra to tekst kodu podprogramu. Lista tabel jest listą
tabele, do których można zastosować filtr. Domyślnie filtry zdefiniowane przez użytkownika dotyczą
tabeli, dla której zostały utworzone, ale możesz to zmienić ręcznie, edytując
definicja w pliku konfiguracyjnym.

aktywne_filtry
Ta sekcja przechowuje, które filtry są aktywne w każdej tabeli. Każda linia jest w
format nazwa_tabeli=lista_filtrów.

tabela_meta
Ta sekcja przechowuje kolumny zdefiniowane przez użytkownika lub dostosowane przez użytkownika (patrz „KOLUMNY”). Każdy
wiersz ma format nazwa_kolumny=właściwości, gdzie właściwości to a
nazwa=lista wartości w cudzysłowie.

połączenia
W tej sekcji znajdują się zdefiniowane połączenia z serwerem. Każda linia jest w
format nazwa=właściwości, gdzie właściwości to nazwa=lista wartości. Właściwości
są oczywiste, a jedynym, który jest traktowany specjalnie, jest „przepustka”, która jest
obecne tylko wtedy, gdy ustawiono opcję „zapisz”. Ta sekcja pliku konfiguracyjnego będzie
pomijane, jeśli używane są jakiekolwiek opcje wiersza polecenia DSN, nazwy użytkownika lub hasła. Zobacz „SERWER
ZNAJOMOŚCI".

active_connections
W tej sekcji znajduje się lista połączeń aktywnych w każdym trybie. Każda linia jest
w formacie nazwa_trybu=lista_połączeń.

grupy_serwerów
Ta sekcja zawiera grupy serwerów. Każdy wiersz ma format nazwa=lista_połączeń.
Zobacz „GRUPY SERWERÓW”.

aktywne_grupy_serwerów
Ta sekcja zawiera listę aktywnych grup serwerów w każdym trybie. Każda linia jest
w formacie nazwa_trybu=grupa_serwerów.

max_values_seen
Ta sekcja zawiera maksymalne wartości widoczne dla zmiennych. Służy do skalowania
wykresy w trybie „S: Variables & Status”. Każda linia ma format nazwa=wartość.

aktywne_kolumny
Ta sekcja zawiera listy kolumn tabeli. Każda linia jest w formacie
nazwa_tabeli=lista_kolumn. Zobacz "KOLUMNY".

sort_cols
Ta sekcja zawiera definicję sortowania. Każda linia jest w formacie
nazwa_tabeli=lista_kolumn. Jeśli kolumna jest poprzedzona „-”, kolumna jest sortowana malejąco.
Zobacz „SORTOWANIE”.

widoczne_tabele
Ta sekcja określa, które tabele są widoczne w każdym trybie. Każda linia jest w
format nazwa_tryby=lista_tabeli. Zobacz „TABELA”.

varsety
Ta sekcja definiuje zestawy zmiennych do użycia w trybie „S: Status i zmienne”. Każda linia
jest w formacie nazwa=lista_zmiennych. Zobacz "ZESTAWY ZMIENNYCH".

zabarwienie
Ta sekcja określa zasady kolorowania. Każda linia jest w formacie
nazwa_tabeli=lista_właściwości. Zobacz "KOLORY".

stmt_sleep_times
Ta sekcja zawiera zestawienie czasów snu. Każda linia jest w formacie
statement_name=czas_snu. Zobacz „S: Oświadczenie o godzinach snu”.

Grupuj według
Ta sekcja zawiera listy kolumn dla wyrażeń group_by tabeli. Każda linia jest w
format nazwa_tabeli=lista_kolumn. Zobacz „GRUPOWANIE”.

DOSTOSOWYWANIE


Możesz dostosować innotop bardzo wiele. Na przykład możesz:

· Wybierz tabele do wyświetlenia iw jakiej kolejności.

· Wybierz, które kolumny znajdują się w tych tabelach i utwórz nowe kolumny.

· Filtruj wyświetlane wiersze za pomocą wbudowanych filtrów, filtrów zdefiniowanych przez użytkownika i szybkich
filtry.

· Sortuj wiersze, aby umieścić ważne dane na pierwszym miejscu lub zgrupuj powiązane wiersze.

· Wyróżnij wiersze kolorem.

· Dostosuj wyrównanie, szerokość i formatowanie kolumn oraz zastosuj przekształcenia
do kolumn, aby wyodrębnić części ich wartości lub sformatować wartości według własnego uznania (dla
na przykład skracanie dużych liczb do znanych jednostek).

· Projektuj własne wyrażenia, aby wyodrębniać i łączyć dane według potrzeb. To daje
nieograniczona elastyczność.

Wszystkie te i więcej wyjaśniono w kolejnych sekcjach.

TABLICE
Tabela jest tym, czego można się spodziewać: zbiorem kolumn. Ma też inne właściwości,
np. podpis. Filtry, reguły sortowania i reguły kolorowania należą do tabel i
zostały omówione w dalszych rozdziałach.

Wewnętrznie metadane tabeli są zdefiniowane w strukturze danych o nazwie %tbl_meta. Ten hasz
przechowuje wszystkie wbudowane definicje tabel, które zawierają wiele domyślnych instrukcji do
innotop. Metadane obejmują podpis, listę kolumn dostosowanych przez użytkownika, a
lista kolumn, lista widocznych kolumn, lista filtrów, reguły kolorów, kolumna sortowania
lista, kierunek sortowania i niektóre informacje o źródłach danych tabeli. Większość z tego
można dostosować za pomocą edytora tabel (patrz "EDYTOR TABEL").

Możesz wybrać, które tabele mają być wyświetlane, naciskając klawisz „$”. Zobacz „TRYBY” i „TABELA”.

Cykl życia tabeli wygląda następująco:

· Każda tabela zaczyna się od źródła danych, które jest tablicą skrótów. Zobacz poniżej
szczegółowe informacje na temat źródeł danych.

· Każdy element źródła danych staje się wierszem w tabeli końcowej.

· Dla każdego elementu w źródle danych, innotop wyodrębnia wartości ze źródła i
tworzy wiersz. Ten wiersz jest kolejnym haszem, który w kolejnych krokach będzie określany jako $set.
Wartości ekstraktów innotop są określane przez kolumny tabeli. Każda kolumna ma
podprogram ekstrakcji, skompilowany z wyrażenia (patrz „WYRAŻENIA”). Wynikowy
row to skrót, którego klucze mają takie same nazwy jak nazwa kolumny.

· innotop filtruje wiersze, usuwając te, które nie muszą być wyświetlane. Widzieć
„FILTRY”.

· innotop sortuje wiersze. Zobacz „SORTOWANIE”.

· innotop grupuje wiersze razem, jeśli określono. Zobacz „GRUPOWANIE”.

· innotop koloruje rzędy. Zobacz "KOLORY".

· innotop przekształca wartości kolumn w każdym wierszu. Zobacz "PRZEMIANY".

· innotop opcjonalnie obraca wiersze (patrz "PRZEWRACANIE"), a następnie filtruje je i sortuje.

· innotop formatuje i wyrównuje wiersze jako tabelę. Na tym etapie obowiązuje innotop
dalsze formatowanie do wartości kolumn, w tym wyrównanie, maksimum i minimum
szerokości. innotop wykonuje również końcowe sprawdzanie błędów, aby upewnić się, że nie ma awarii z powodu
niezdefiniowane wartości. innotop następnie dodaje podpis, jeśli jest określony, a stół jest gotowy do
wydrukować.

Cykl życia jest nieco inny, jeśli tabela jest obracana, jak wspomniano powyżej. W celu wyjaśnienia,
jeśli tabela jest przestawiana, proces jest wyodrębniany, grupowany, przekształcany, przestawny, filtrowany, sortowany,
Stwórz. Jeśli nie jest przestawiany, proces to wyodrębnianie, filtrowanie, sortowanie, grupowanie, kolorowanie,
przekształcać, tworzyć. Ten nieco zawiły proces nie mapuje zbyt dobrze do SQL, ale
obracanie bardzo mocno komplikuje sprawę. Z grubsza mówiąc, filtrowanie i sortowanie
nastąpić tak późno, jak jest to konieczne, aby uzyskać efekt końcowy, jak można się spodziewać, ale tak wcześnie, jak
możliwe dla wydajności.

Każda wbudowana tabela jest opisana poniżej:

adaptacyjny_hash_index
Wyświetla dane o adaptacyjnym indeksie skrótu InnoDB. Źródło danych: „STATUS_VARIABLES”.

pula_buforów
Wyświetla dane o puli buforów InnoDB. Źródło danych: „STATUS_VARIABLES”.

cmd_podsumowanie
Wyświetla ważone zmienne stanu. Źródło danych: „STATUS_VARIABLES”.

zakleszczenia_blokady
Pokazuje, które blokady były utrzymywane i na które oczekiwano do ostatniego wykrytego zakleszczenia. Dane
źródło: "DEADLOCK_LOCKS".

zakleszczenie_transakcji
Pokazuje transakcje związane z ostatnim wykrytym zakleszczeniem. Źródło danych:
„DEADLOCK_TRANSACTIONS”.

wyjaśniać
Pokazuje dane wyjściowe EXPLAIN. Źródło danych: „WYJAŚNIJ”.

plik_io_misc
Wyświetla dane o plikach InnoDB i operacjach we/wy. Źródło danych:
„STATUS_VARIABLES”.

fk_błąd
Wyświetla różne dane dotyczące ostatniego błędu klucza obcego InnoDB. Źródło danych:
„STATUS_VARIABLES”.

innodb_locks
Wyświetla blokady InnoDB. Źródło danych: "INNODB_LOCKS".

innodb_transactions
Wyświetla dane o bieżących transakcjach InnoDB. Źródło danych:
„INNODB_TRANSACTIONS”.

wstaw_bufory
Wyświetla dane o buforze wstawiania InnoDB. Źródło danych: „STATUS_VARIABLES”.

io_wątki
Wyświetla dane o wątkach we/wy InnoDB. Źródło danych: "IO_THREADS".

log_statystyka
Wyświetla dane o systemie logowania InnoDB. Źródło danych: „STATUS_VARIABLES”.

stan_nadrzędny
Wyświetla stan wzorca replikacji. Źródło danych: „STATUS_VARIABLES”.

otwarte_tabele
Wyświetla otwarte tabele. Źródło danych: „OPEN_TABLES”.

statystyki_strony
Wyświetla statystyki strony InnoDB. Źródło danych: „STATUS_VARIABLES”.

oczekujące_io
Wyświetla oczekujące operacje We/Wy InnoDB. Źródło danych: „STATUS_VARIABLES”.

Lista procesów
Wyświetla bieżące procesy MySQL (wątki/połączenia). Źródło danych: „LISTA PROCESÓW”.

q_nagłówek
Wyświetla różne wartości stanu. Źródło danych: „STATUS_VARIABLES”.

wiersz_operacja_misc
Wyświetla dane o operacjach na wierszach InnoDB. Źródło danych: „STATUS_VARIABLES”.

operacje_wierszowe
Wyświetla dane o operacjach na wierszach InnoDB. Źródło danych: „STATUS_VARIABLES”.

semafory
Wyświetla dane o semaforach i muteksach InnoDB. Źródło danych: „STATUS_VARIABLES”.

slave_io_status
Wyświetla dane dotyczące podrzędnego wątku we/wy. Źródło danych: „STATUS_VARIABLES”.

status_sql_slave
Wyświetla dane dotyczące podrzędnego wątku SQL. Źródło danych: „STATUS_VARIABLES”.

t_nagłówek
Wyświetla różne wartości stanu InnoDB. Źródło danych: „STATUS_VARIABLES”.

stan_zmienności
Wyświetla dane konfigurowalne przez użytkownika. Źródło danych: „STATUS_VARIABLES”.

tablica_czekania
Wyświetla dane dotyczące tablicy oczekiwania systemu operacyjnego InnoDB. Źródło danych: „OS_WAIT_ARRAY”.

KOLUMNY
Kolumny należą do tabel. Możesz wybrać kolumny tabeli, naciskając klawisz '^', który
uruchamia "EDYTOR TABELI" i pozwala wybrać i edytować kolumny. Naciśnięcie „e” od wewnątrz
edytor tabel umożliwia edycję właściwości kolumny:

· hdr: nagłówek kolumny. Pojawia się w pierwszym wierszu tabeli.

· po prostu: uzasadnienie. „-” oznacza wyrównanie do lewej, a „” – wyrównanie do prawej, tak jak
z kodami formatowania printf (nieprzypadkowo).

· dec: czy dalej wyrównać kolumnę do punktu dziesiętnego.

· num: czy kolumna jest numeryczna. Ma to wpływ na sposób sortowania wartości (leksykalnie lub
liczebnie).

· etykieta: mała uwaga na temat kolumny, która pojawia się w oknach dialogowych, które pomagają użytkownikowi
wybierz kolumny.

· src: wyrażenie, którego innotop używa do wyodrębnienia danych kolumny z jej źródła (patrz
"ŹRÓDŁA DANYCH"). Zobacz „WYRAŻENIA”, aby uzyskać więcej informacji na temat wyrażeń.

· minw: określa minimalną szerokość wyświetlania. Pomaga to ustabilizować wyświetlacz, który
ułatwia czytanie, jeśli dane często się zmieniają.

· maxw: podobny do minw.

· trans: lista przekształceń kolumn. Zobacz "PRZEMIANY".

· agg: funkcja agregująca. Zobacz „GRUPOWANIE”. Wartość domyślna to „pierwszy”.

· aggonly: kontroluje, czy kolumna pokazuje się tylko wtedy, gdy włączone jest grupowanie w tabeli
(patrz "GRUPOWANIE"). Domyślnie jest to wyłączone. Oznacza to, że kolumny zawsze będą
wyświetlane domyślnie, czy grupowanie jest włączone, czy nie. Jeśli ustawione jest agonly kolumny
prawda, kolumna pojawi się po przełączeniu grupowania w tabeli. Kilka kolumn
są ustawione w ten sposób, np. kolumna count na „processlist” i „innodb_transactions”,
więc nie widzisz licznika, gdy grupowanie nie jest włączone, ale robisz to, gdy jest.

FILTRY
Filtry usuwają wiersze z wyświetlacza. Zachowują się podobnie jak klauzula WHERE w SQL.
innotop ma kilka wbudowanych filtrów, które usuwają nieistotne informacje, takie jak nieaktywne
zapytania, ale możesz również zdefiniować własne. innotop umożliwia również tworzenie szybkich filtrów,
które nie są zapisywane w pliku konfiguracyjnym, a są po prostu łatwym sposobem na szybkie przeglądanie
tylko kilka wierszy.

Możesz włączyć lub wyłączyć filtr w dowolnej tabeli. Naciśnij klawisz '%' (mnemonik: % wygląda
coś w rodzaju linii filtrowanej między dwoma kręgami) i wybierz stół, który chcesz
filtr, jeśli zostaniesz o to poproszony. Zobaczysz wtedy listę możliwych filtrów i listę filtrów
obecnie włączone dla tej tabeli. Wpisz nazwy filtrów, które chcesz zastosować, i naciśnij
Enter.

OKREŚLONY PRZEZ UŻYTKOWNIKA FILTRY

Jeśli wpiszesz nazwę, która nie istnieje, innotop poprosi o utworzenie filtra.
Filtry są łatwe do utworzenia, jeśli znasz Perla, a nie trudne, jeśli nie znasz. Co robisz
tworzy podprogram, który zwraca prawdę, jeśli wiersz powinien zostać wyświetlony. Rząd to
hash reference przekazany do podprogramu jako $set.

Na przykład wyobraź sobie, że chcesz filtrować tabelę listy procesów, aby widzieć tylko zapytania, które:
działają dłużej niż pięć minut. Wpisz nową nazwę filtra i kiedy
zapytany o treść podprogramu, naciśnij TAB, aby zainicjować automatyczne uzupełnianie terminala.
Zobaczysz nazwy kolumn w tabeli „processlist” (innotop zazwyczaj próbuje
pomóc z listami autouzupełniania). Chcesz filtrować według kolumny „czas”. Wpisz
tekst "$set->{time} > 300", aby zwrócić prawdę, gdy zapytanie ma więcej niż pięć minut.
To wszystko, co musisz zrobić.

Innymi słowy, kod, który wpisujesz, jest otoczony niejawnym kontekstem, który wygląda
lubię to:

filtr podrzędny {
mój ( $zestaw ) = @_;
# TWÓJ KOD TUTAJ
}

Jeśli twój filtr nie działa lub coś innego nagle zachowuje się inaczej, możesz:
popełniłeś błąd w filtrze, a innotop po cichu wyłapuje błąd. Próbować
włączenie "debugowania", aby zamiast tego innotop wyrzucił błąd.

SZYBKIE FILTRY

Szybkie filtry innotop są skrótem do tworzenia tymczasowego filtra, który nie jest zachowywany
po ponownym uruchomieniu innotop. Aby utworzyć szybki filtr, naciśnij klawisz „/”. innotop będzie
monituje o nazwę kolumny i tekst filtru. Ponownie możesz użyć autouzupełniania na
nazwy kolumn. Tekst filtra może być tylko tekstem, który chcesz „wyszukać”. Do
na przykład, aby filtrować tabelę "processlist" na zapytaniach odwołujących się do tabeli produktów,
wpisz „/”, a następnie „informacje o produkcie”.

Tekst filtra może być w rzeczywistości dowolnym wyrażeniem regularnym Perla, ale oczywiście dosłownym
ciąg znaków, taki jak 'product', działa dobrze jako wyrażenie regularne.

Za kulisami innotop kompiluje szybki filtr w specjalnie otagowany filtr, który jest
inaczej jak każdy inny filtr. Po prostu nie jest zapisywany w pliku konfiguracyjnym.

Aby wyczyścić szybkie filtry, naciśnij klawisz „\”, a innotop usunie je wszystkie na raz.

SORTOWANIE
innotop ma sensowne wbudowane ustawienia domyślne sortowania najważniejszych wierszy na górę
Tabela. Jak wszystko inne w innotop, możesz dostosować sposób sortowania tabeli.

Aby uruchomić okno sortowania, uruchom „EDYTOR TABEL” klawiszem '^', wybierz tabelę, jeśli
konieczne i naciśnij klawisz „s”. Zobaczysz listę kolumn, których możesz użyć w sortowaniu
wyrażenie i bieżące wyrażenie sortowania, jeśli istnieje. Wpisz listę kolumn, według których
chcesz posortować i naciśnij Enter. Jeśli chcesz odwrócić sortowanie, poprzedź nazwę kolumny znakiem
minus. Na przykład, jeśli chcesz posortować według kolumny a rosnąco, to kolumna b
malejąco, wpisz 'a -b'. Możesz także wyraźnie dodać + przed kolumnami, które chcesz
sortuj rosnąco, ale nie jest to wymagane.

Niektóre tryby mają klawisze przypisane do bezpośredniego otwierania tego okna i szybkiego odwracania sortowania
kierunek. Naciskać '?' jak zwykle, aby zobaczyć, które klawisze są mapowane w dowolnym trybie.

GRUPOWANIE
innotop może grupować lub agregować wiersze razem (terminy są używane zamiennie). Ten
jest bardzo podobna do klauzuli SQL GROUP BY. Możesz określić grupowanie w określonych kolumnach,
lub jeśli nie określisz żadnego, cały zestaw wierszy jest traktowany jako jedna grupa. To jest
zupełnie jak SQL, ale w przeciwieństwie do SQL, możesz także wybrać niezgrupowane kolumny. innotop
faktycznie agreguje każdą kolumnę. Jeśli nie określisz jawnie funkcji grupującej,
wartość domyślna to „pierwszy”. Jest to w zasadzie wygoda, więc nie musisz określać ani
funkcja agregująca dla każdej kolumny, którą chcesz uzyskać w wyniku.

Możesz szybko przełączać grupowanie na stole za pomocą klawisza „=”, który przełącza jego agregację
własność. Ta właściwość nie jest zachowywana w pliku konfiguracyjnym.

Kolumny, według których pogrupowana jest tabela, są określone we właściwości group_by. Kiedy
włączasz grupowanie, innotop umieszcza kolumny group_by po lewej stronie tabeli,
nawet jeśli nie powinny być widoczne. Pozostałe widoczne kolumny pojawiają się w
zamówienie po nich.

Dwie tabele mają domyślne listy group_by i wbudowaną kolumnę count: „processlist” i
"innodb_transactions". Grupowanie odbywa się według połączenia i statusu, dzięki czemu możesz szybko zobaczyć
ile zapytań lub transakcji ma dany status na każdym monitorowanym serwerze.
Kolumny czasu są agregowane jako suma; inne kolumny są pozostawione na domyślnym „pierwszym”
zbiór.

Domyślnie tabela pokazana w trybie „S: Variables & Status” również wykorzystuje grupowanie, dzięki czemu możesz
monitorować zmienne i stan na wielu serwerach. Domyślna funkcja agregacji w
ten tryb jest „średni”.

Prawidłowe funkcje grupowania są zdefiniowane w hashu %agg_funcs. Zawierają

drugim
Zwraca pierwszy element w grupie.

liczyć
Zwraca liczbę elementów w grupie, w tym elementy niezdefiniowane, podobnie jak
LICZBA SQL(*).

avg Zwraca średnią zdefiniowanych elementów w grupie.

sum Zwraca sumę elementów w grupie.

Oto przykład grupowania w pracy. Załóżmy, że masz bardzo zajęty serwer z setkami
otwartych połączeń i chcesz zobaczyć, ile połączeń ma w jakim stanie. Za pomocą
wbudowane reguły grupowania, możesz nacisnąć „Q”, aby przejść do trybu „Q: Lista zapytań”. Naciśnij „=”
aby przełączyć grupowanie (jeśli to konieczne, po wyświetleniu monitu wybierz tabelę „processlist”).

Twój wyświetlacz może teraz wyglądać tak:

Lista zapytań (? dla pomocy) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log

CXN Cmd Cnt ID Zapytanie o czas hosta użytkownika
localhost Zapytanie 49 12933 webusr localhost 19:38 SELECT * FROM
localhost Wysyłanie Da 23 2383 webusr localhost 12:43 WYBIERZ kol1,
Lokalny Gospodarz Uśpij 120 140 webusr Lokalny Gospodarz 5:18:12
localhost Statystyki 12 19213 webusr localhost 01:19 WYBIERZ * Z

Właściwie to dość niepokojący obraz. Masz dużo nieaktywnych połączeń (Sen),
oraz niektóre połączenia wykonujące zapytania (zapytanie i wysyłanie danych). W porządku, ale ty
mają też dużo statusu Statystyk, łącznie wydają ponad minutę. Oznacza to, że
Optymalizator zapytań ma naprawdę trudności z optymalizacją Twoich instrukcji. Coś jest
zło; zwykle optymalizacja zapytań powinna zająć milisekundy. Mogłeś nie widzieć
ten wzorzec, jeśli nie patrzyłeś na swoje połączenia łącznie. (To jest wymyślone
na przykład, ale może się to zdarzyć w prawdziwym życiu).

OBRACANIE
innotop może obracać stół w celu uzyskania bardziej kompaktowego wyświetlania, podobnie jak stół przestawny w a
arkusz kalkulacyjny (znany również jako tabela przestawna). Obracanie tabeli zamienia kolumny w wiersze. Założyć
zaczynasz od tej tabeli:

foo bar
=== ===
1 3
2 4

Po obróceniu stół będzie wyglądał tak:

nazwa zestaw0 zestaw1
==== ==== ====
foo 1 2
słupek 3 4

Aby uzyskać rozsądne wyniki, konieczne może być grupowanie, a także przestawianie. innotop obecnie
robi to dla trybu „S: Variables & Status”.

KOLORY
Domyślnie innotop podświetla wiersze kolorem, dzięki czemu można na pierwszy rzut oka zobaczyć, które wiersze są
ważniejsze. Możesz dostosować reguły kolorowania i dodać własne do dowolnego stołu.
Otwórz edytor tabel klawiszem '^', w razie potrzeby wybierz tabelę i naciśnij 'o', aby otworzyć
okno dialogowe edytora kolorów.

Okno dialogowe edytora kolorów wyświetla reguły zastosowane do tabeli, w kolejności, w jakiej są
oceniane. Każdy wiersz jest oceniany pod kątem każdej reguły, aby sprawdzić, czy reguła pasuje do wiersza; Jeśli
tak, wiersz otrzymuje określony kolor i żadne dalsze reguły nie są oceniane. Zasady
wyglądać następująco:

stan eq Zablokowany czarny on_red
cmd eq Uśpij biały
użytkownik eq system użytkownik biały
cmd eq Połącz biały
cmd eq Binlog Dump biały
czas > 600 czerwony
czas > 120 żółty
czas > 60 zielony
czas > 30 cyjan

Jest to domyślny zestaw reguł dla tabeli „processlist”. W kolejności priorytetów te
reguły sprawiają, że zablokowane zapytania są czarne na czerwonym tle, „wyszarzone” połączenia z
replikacji i uśpionych zapytań, a także sprawiają, że zapytania zmieniają się z cyjanowego na czerwony podczas ich uruchamiania
dłużej.

(Z jakiegoś powodu kod koloru ANSI „biały” jest w rzeczywistości jasnoszary. Twój terminal jest
wyświetlacz może się różnić; eksperymentuj, aby znaleźć kolory, które lubisz).

Możesz używać klawiszy, aby przesuwać reguły w górę iw dół, co zmienia ich priorytet. ty
może również usuwać reguły i dodawać nowe. Jeśli dodasz nową regułę, innotop poprosi o
kolumna, operator porównania, wartość, z którą należy porównać kolumnę,
i kolor do przypisania, jeśli reguła pasuje. Przy każdym następuje automatyczne uzupełnianie i monitowanie
krok.

Wartość w trzecim kroku musi być poprawnie przytoczona. innotop nie próbuje cytować
wartość, ponieważ nie wie, czy ma traktować wartość jako ciąg, czy jako a
numer. Jeśli chcesz porównać kolumnę z ciągiem, jak na przykład w pierwszym
powyżej reguły, należy wpisać „Zablokowane” w cudzysłowie. Jeśli pojawi się komunikat o błędzie
jeśli chodzi o gołe słowo, prawdopodobnie powinieneś był coś zacytować.

WYRAŻENIA
Wyrażenia są podstawą działania innotop i umożliwiają rozszerzanie
innotop, jak chcesz. Przypomnij sobie cykl życia tabeli wyjaśniony w „TABELACH”. Wyrażenia są
używany w najwcześniejszym kroku, w którym wyodrębnia wartości ze źródła danych w celu utworzenia wierszy.

Robi to, wywołując podprogram dla każdej kolumny, przekazując jej źródłowy zestaw danych, a
zestaw aktualnych wartości i zestaw poprzednich wartości. To wszystko jest potrzebne, więc
podprogram może obliczyć takie rzeczy, jak różnica między tym tikiem a poprzednim
kleszcz.

Podprogramy wydobywające dane z zestawu są kompilowane z wyrażeń. Ten
daje znacznie więcej mocy niż samo nazywanie wartości do wypełnienia kolumn, ponieważ
umożliwia obliczenie wartości kolumny na podstawie niezbędnych danych, ale unika
trzeba napisać skomplikowany i długi kod Perla.

innotop zaczyna się od ciągu tekstowego, który może wyglądać tak prosto, jak nazwa wartości lub jako
skomplikowane jako pełnoprawne wyrażenie Perl. Przygląda się każdemu tokenowi „gołe słowo” w
string i decyduje, czy ma to być klucz do hasha $set. Słowo gołe to an
wartość niecytowana, która nie jest już otoczona przez elementy kodowe, takie jak znaki dolara lub kręcone
wsporniki. Jeśli innotop zdecyduje, że gołe słowo nie jest funkcją lub innym poprawnym kodem Perla,
konwertuje go na dostęp skrótu. Po przetworzeniu całego łańcucha innotop się kompiluje
podprogram, taki jak ten:

podrzędna wartość_kolumny obliczeniowej {
mój ( $set, $cur, $pre ) = @_;
mój $val = # ROZSZERZONY ŁAŃCUCH JEST TUTAJ
zwróć $wal;
}

Oto konkretny przykład zaczerpnięty z tabeli nagłówków „q_header” w trybie „P: Lista zapytań”.
To wyrażenie oblicza wartości qps, czyli zapytań na sekundę, na podstawie
wartości zwracane przez POKAŻ STATUS:

Pytania/zatrudnienia na czas pracy

innotop decyduje, że oba słowa są gołymi słowami i przekształca to wyrażenie w
następujący kod Perla:

$set->{Pytania}/$set->{Uptime_hires}

Otoczony przez resztę kodu podprogramu, jest to wykonywalny Perl, który
oblicza wartość zapytań o wysokiej rozdzielczości na sekundę.

Argumenty podprogramu mają nazwy $set, $cur i $pre. W większości przypadków $set i
$cur będzie miał te same wartości. Jeśli jednak ustawione jest "status_inc", $cur nie będzie takie samo
jako $set, ponieważ $set będzie już zawierał wartości będące różnicą przyrostową
między $cur i $pre.

Każda kolumna w innotop jest obliczana przez podprogramy skompilowane w ten sam sposób. Jest
nie ma różnicy między wbudowanymi kolumnami innotop a kolumnami zdefiniowanymi przez użytkownika. To utrzymuje
rzeczy spójne i przewidywalne.

PRZEMIANY
Transformacje zmieniają sposób renderowania wartości. Na przykład mogą zająć kilka
sekund i wyświetl go w formacie H:M:S. Zdefiniowano następujące przekształcenia:

skomentować
Dodaje przecinki do dużych liczb co trzy miejsca po przecinku.

dulint_do_int
Akceptuje dwie liczby całkowite bez znaku i konwertuje je na jeden longlong. To jest
przydatne w niektórych operacjach z InnoDB, która używa dwóch liczb całkowitych jako transakcji
na przykład identyfikatory.

no_ctrl_char
Usuwa cytowane znaki sterujące z wartości. Ma na to wpływ „zestaw znaków”
zmienna konfiguracyjna.

Ta transformacja działa tylko w obrębie ciągów w cudzysłowie, na przykład wartości do SET
klauzula w instrukcji UPDATE. Nie zmieni to instrukcji UPDATE, ale
zwiń ciąg w cudzysłowie do [BINARNY] lub [TEKST], w zależności od zestawu znaków.

procent
Konwertuje liczbę na wartość procentową, mnożąc ją przez dwa, formatując za pomocą
cyfry "num_digits" po przecinku i opcjonalnie dodanie znaku procentu (patrz
„pokaż_procent”).

sekund_do_czasu
Formatuje liczbę sekund jako czas w formacie dni+godziny:minuty:sekundy.

set_precyzja
Formatuje liczby za pomocą „num_digits” liczby cyfr po przecinku.

skracać
Formatuje liczbę jako jednostkę 1024 (k/M/G/T) i liczbę cyfr „num_digits”
po przecinku.

STÓL JADALNIANY REDAKCJA
Edytor tabel innotop pozwala dostosować tabele za pomocą naciśnięć klawiszy. Ty zaczynasz stół
edytor z klawiszem '^'. Jeśli na ekranie jest więcej niż jeden stół, pojawi się monit
wybrać jeden z nich. Gdy to zrobisz, innotop pokaże Ci coś takiego:

Edycja definicji tabeli dla puli buforów. Naciskać ? o pomoc, q rzucić.

nazwa hdr etykieta src
cxn CXN Połączenie, z którego cxn
buf_pool_size Rozmiar Rozmiar puli buforów IB_bp_buf_poo
buf_free Darmowe bufory Bufory darmowe w IB_bp_buf_fre
pages_total Strony Suma stron IB_bp_pages_t
pages_modified Brudne strony Zmodyfikowano strony (brudne IB_bp_pages_m
buf_pool_hit_rate Współczynnik trafień Współczynnik trafień puli buforów IB_bp_buf_poo
total_mem_alloc Pamięć Całkowita przydzielona pamięć IB_bp_total_m
add_pool_alloc Dodatkowa pula Dodatkowa pula przydzielona IB_bp_add_poo

Pierwsza linia pokazuje, którą tabelę edytujesz, i przypomina o naciśnięciu „?” dla
lista odwzorowań klawiszy. Reszta to tabelaryczna reprezentacja kolumn tabeli,
ponieważ to prawdopodobnie próbujesz edytować. Możesz jednak edytować nie tylko
kolumny tabeli; na tym ekranie można uruchomić edytor filtrów, edytor reguł kolorów i nie tylko.

Każdy wiersz na wyświetlaczu pokazuje pojedynczą kolumnę w edytowanej tabeli, wraz z
kilka jego właściwości, takich jak nagłówek i wyrażenie źródłowe (zobacz „WYRAŻENIA”).

Mapowania klawiszy są w stylu Vima, jak w wielu innych miejscach. Naciśnięcie „j” i „k” przesuwa
podświetl w górę lub w dół. Możesz następnie (d)usunąć lub (e)edytować podświetloną kolumnę. Możesz
również (a) dodaj kolumnę do tabeli. To faktycznie aktywuje już jedną z kolumn
zdefiniowane dla tabeli; monituje o wybór spośród dostępnych kolumn, ale nie
aktualnie wyświetlany. Na koniec możesz zmienić kolejność kolumn za pomocą klawiszy „+” i „-”.

Możesz zrobić więcej niż tylko edytować kolumny za pomocą edytora tabel, możesz także edytować inne
właściwości, takie jak wyrażenie sortowania tabeli i wyrażenie grupowania według. Naciskać '?' zobaczyć
oczywiście pełna lista.

Jeśli chcesz naprawdę dostosować i stworzyć własną kolumnę, a nie tylko aktywować
wbudowany, który nie jest aktualnie wyświetlany, naciśnij klawisz (n)nowy, a innotop będzie
zapytać o potrzebne informacje:

· Nazwa kolumny: musi to być słowo bez zabawnych znaków, np. just
litery, cyfry i podkreślenia.

· Nagłówek kolumny: jest to etykieta, która pojawia się na górze kolumny, w
nagłówek tabeli. Może zawierać spacje i zabawne postacie, ale uważaj, aby tego nie zrobić
jest zbyt szeroki i marnuje miejsce na ekranie.

· Źródło danych kolumny: jest to wyrażenie określające, jakie dane z
source (patrz "TABLES"), innotop umieści w kolumnie. To może być po prostu nazwa
element w źródle lub może to być bardziej złożone wyrażenie, jak opisano w
„WYRAŻENIA”.

Po wprowadzeniu wymaganych danych w tabeli pojawi się nowa kolumna. Nie ma
różnica między tą kolumną a wbudowanymi; może mieć wszystkie te same właściwości
i zachowania. innotop zapisze definicję kolumny do pliku konfiguracyjnego, więc
będzie trwać przez wszystkie sesje.

Oto przykład: załóżmy, że chcesz śledzić, ile razy twoi niewolnicy próbowali ponownie
transakcje. Zgodnie z instrukcją MySQL status Slave_retried_transactions
zmienna daje te dane: "Całkowita liczba razy od uruchomienia, które
Wątek SQL podrzędny replikacji ponawiał transakcję. Ta zmienna została dodana w wersji
5.0.4." Jest to właściwe, aby dodać do tabeli "slave_sql_status".

Aby dodać kolumnę, przejdź do trybu monitorowania replikacji klawiszem „M” i naciśnij
klawisz '^', aby uruchomić edytor tabel. Po wyświetleniu monitu wybierz status slave_sql_status jako
tabeli, a następnie naciśnij „n”, aby utworzyć kolumnę. Wpisz „powtórzenia” jako nazwę kolumny, „Ponowne próby”
jako nagłówek kolumny i „Slave_retried_transactions” jako źródło. Teraz kolumna jest
utworzony i ponownie zobaczysz ekran edytora tabel. Naciśnij 'q', aby wyjść z edytora tabel,
a zobaczysz swoją kolumnę na końcu tabeli.

ZMIENNA ZESTAWY


Zestawy zmiennych są używane w trybie „S: Variables & Status”, aby łatwiej zdefiniować, co
zmienne, które chcesz monitorować. Za kulisami są one kompilowane do listy
wyrażeń, a następnie do listy kolumn, aby można je było traktować jak kolumny w dowolnym
inna tabela pod względem ekstrakcji i przekształceń danych. Jednak jesteś chroniony
od żmudnych szczegółów za pomocą składni, która powinna wydawać ci się bardzo naturalna: SQL SELECT
lista.

Źródłem danych dla zestawów zmiennych, a właściwie całego trybu S, jest kombinacja
POKAŻ STAN, POKAŻ ZMIENNE i POKAŻ STATUS INNODB. Wyobraź sobie, że masz ogromny stół
z jedną kolumną na zmienną zwróconą z tych instrukcji. To jest źródło danych dla
zestawy zmiennych. Możesz teraz wysyłać zapytania do tego źródła danych, tak jak oczekiwałeś. Na przykład:

Pytania, czas pracy, pytania/czas pracy jako QPS

Za kulisami innotop podzieli ten zestaw zmiennych na trzy wyrażenia, skompiluj
je i zamień w definicję tabeli, a następnie wyodrębnij jak zwykle. To staje się
„zestaw zmiennych” lub „lista zmiennych, które chcesz monitorować”.

innotop pozwala nazywać i zapisywać zestawy zmiennych oraz zapisuje je w konfiguracji
plik. Możesz wybrać, który zestaw zmiennych chcesz zobaczyć za pomocą klawisza „c”, lub aktywować
następny i poprzedni zestaw za pomocą klawiszy '>' i '<'. Istnieje wiele wbudowanych zestawów zmiennych
również, co powinno dać dobry początek tworzenia własnego. Naciśnij „e”, aby edytować
bieżący zestaw zmiennych lub po prostu zobaczyć, jak jest zdefiniowany. Aby utworzyć nowy, po prostu naciśnij
„c” i wpisz jego nazwę.

Możesz chcieć użyć niektórych funkcji wymienionych w „TRANSFORMACJACH”, aby pomóc sformatować
wyniki. W szczególności „set_precision” jest często przydatne, aby ograniczyć liczbę cyfr, które należy
zobaczyć. Rozszerzając powyższy przykład, oto jak:

Pytania, czas pracy, set_precision (pytania/czas pracy) jako QPS

Właściwie to nadal wymaga trochę więcej pracy. Jeśli Twój „przedział” jest mniejszy niż jeden
po drugie, możesz dzielić przez zero, ponieważ czas działania zwiększa się w tym trybie o
domyślna. Zamiast tego użyj Uptime_hires:

Pytania, Uptime, set_precision (Pytania/Uptime_hires) jako QPS

Ten przykład jest prosty, ale pokazuje, jak łatwo wybrać zmienne, które chcesz
monitor.

WTYCZKI


innotop posiada prosty, ale potężny mechanizm wtyczek, za pomocą którego możesz rozszerzać lub modyfikować jego
istniejącej funkcjonalności i dodaj nową funkcjonalność. Funkcjonalność wtyczki innotop to
oparte na zdarzeniach: wtyczki rejestrują się, aby być wywoływane w przypadku wystąpienia zdarzeń. Następnie mają
szansa na wpłynięcie na wydarzenie.

Wtyczka innotop to moduł Perla umieszczony w katalogu "plugin_dir" programu innotop. W systemie UNIX
systemów, możesz umieścić dowiązanie symboliczne do modułu zamiast umieszczać rzeczywisty plik
tam. innotop automatycznie wykrywa plik. Jeśli istnieje odpowiedni wpis w
sekcja pliku konfiguracyjnego „plugins”, innotop ładuje i aktywuje wtyczkę.

Moduł musi być zgodny z interfejsem wtyczki innotop. Dodatkowo kod źródłowy
moduł musi być napisany w taki sposób, aby innotop mógł sprawdzić plik i określić
nazwa i opis pakietu.

Pakiet Źródło Konwencja
innotop sprawdza źródło modułu wtyczki, aby określić nazwę pakietu Perla. To wygląda
dla wiersza w postaci „pakiet Foo”; a jeśli zostanie znaleziony, uważa nazwę pakietu wtyczki za
być Foo. Oczywiście nazwa pakietu może być poprawną nazwą pakietu Perl, z podwójnym
średniki i tak dalej.

Szuka również opisu w kodzie źródłowym, aby edytor wtyczek był bardziej ludzki-
przyjazny. Opis to wiersz komentarza w postaci „# opis: Foo”, gdzie „Foo”
to tekst, który innotop uzna za opis wtyczki.

Podłącz Interfejs
Interfejs wtyczki innotop jest dość prosty: innotop oczekuje, że wtyczka będzie obiektem-
moduł zorientowany, na którym może wywoływać określone metody. Metody są

nowy(%zmienne)
To jest konstruktor wtyczki. Przekazywany jest hash zmiennych innotop, które
może manipulować (patrz "Zmienne wtyczek"). Musi zwracać odniesienie do nowo
utworzony obiekt wtyczki.

W czasie budowy innotop załadował tylko ogólną konfigurację i utworzył
domyślne zmienne wbudowane z ich domyślną zawartością (a jest ich całkiem sporo).
Dlatego stan programu jest dokładnie taki, jak w kodzie źródłowym innotop, plus
zmienne konfiguracyjne z sekcji „ogólne” w pliku konfiguracyjnym.

Jeśli twoja wtyczka manipuluje zmiennymi, zmienia dane globalne, które są udostępniane
przez innotop i wszystkie wtyczki. Wtyczki są ładowane w kolejności, w jakiej są wymienione w
plik konfiguracyjny. Twoja wtyczka może załadować się przed lub po innej wtyczce, więc istnieje
możliwość konfliktu lub interakcji między wtyczkami, jeśli modyfikują dane inne
wtyczki używać lub modyfikować.

zarejestruj_na_wydarzenia()
Ta metoda musi zwrócić listę zdarzeń, którymi wtyczka jest zainteresowana, jeśli takie istnieją.
Zobacz "Zdarzenia wtyczek" dla zdefiniowanych zdarzeń. Jeśli wtyczka zwraca zdarzenie, które nie jest
zdefiniowane, zdarzenie jest ignorowane.

programy obsługi zdarzeń
Wtyczka musi zaimplementować metodę nazwaną tak samo jak każde zdarzenie, dla którego ma
zarejestrowany. Innymi słowy, jeśli wtyczka zwraca qw(foo bar) z
zarejestruj_na_wydarzenia(), Muszę mieć bla() i bar() metody. Te metody są
wywołania zwrotne dla zdarzeń. Zobacz „Zdarzenia wtyczek”, aby uzyskać więcej informacji o każdym zdarzeniu.

Podłącz Zmienne
Konstruktor wtyczki otrzymuje hash zmiennych innotop, którymi może manipulować.
Prawdopodobnie dobrym pomysłem jest zapisanie przez obiekt wtyczki jego kopii do późniejszego wykorzystania. ten
zmienne są zdefiniowane w zmiennej innotop %pluggable_vars i są następujące:

akcja_dla
Skrót kluczowych mapowań. To są globalne skróty klawiszowe firmy innotop.

agg_funks
Skrót funkcji, których można użyć do grupowania. Zobacz „GRUPOWANIE”.

config
Skrót konfiguracji globalnej.

połączenia
Hashref specyfikacji połączenia. To tylko specyfikacje, jak to zrobić
połączyć się z serwerem.

dbs
Hashref połączeń z bazą danych innotop. Są to rzeczywiste obiekty połączenia DBI.

filtry
Hashref filtrów zastosowanych do wierszy tabeli. Zobacz „FILTRY”, aby uzyskać więcej informacji.

Tryby
Hashref trybów. Zobacz „TRYBY”, aby uzyskać więcej informacji.

grupy_serwerów
Hashref grup serwerów. Zobacz „GRUPY SERWERÓW”.

tabela_meta
Hashref metadanych tabeli innotop, z jednym wpisem na tabelę (zobacz "TABELA" dla
więcej informacji).

trans_funkcje
Skrót funkcji transformacji. Zobacz "PRZEMIANY".

zestawy_zmiennych
Hashref zestawów zmiennych. Zobacz "ZESTAWY ZMIENNYCH".

Podłącz Eventy
Każde zdarzenie jest zdefiniowane gdzieś w kodzie źródłowym innotop. Kiedy innotop uruchomi ten kod,
wykonuje funkcję zwrotną dla każdej wtyczki, która wyraziła zainteresowanie
wydarzenie. innotop przekazuje pewne dane dla każdego zdarzenia. Zdarzenia są określone w
%event_listener_for zmiennej i są następujące:

ekstrakt_wartości($zestaw, $bież, $pre, $tbl)
To zdarzenie występuje wewnątrz funkcji, która wyodrębnia wartości ze źródła danych. ten
argumenty to zbiór wartości, bieżące wartości, poprzednie wartości i
Nazwa tabeli.

set_to_tbl
Zdarzenia są zdefiniowane w wielu miejscach tego podprogramu, który odpowiada za skręcanie
arrayref z hashrefs do arrayref linii, które mogą zostać wydrukowane na ekranie.
Wszystkie zdarzenia przekazują te same dane: arrayref wierszy i nazwę tabeli będącą
Utworzony. Zdarzenia to set_to_tbl_pre_filter,
set_to_tbl_pre_sort, set_to_tbl_pre_group, set_to_tbl_pre_colorize,
set_to_tbl_pre_transform, set_to_tbl_pre_pivot, set_to_tbl_pre_create,
set_to_tbl_post_create.

draw_screen($linie)
To zdarzenie występuje wewnątrz podprogramu, który wyświetla linie na ekranie. $linie
jest arrayref łańcuchów.

Prosty Podłącz Przykład
Najłatwiejszym sposobem wyjaśnienia funkcjonalności wtyczki jest prawdopodobnie prosty przykład.
Poniższy moduł dodaje kolumnę na początku każdej tabeli i ustawia jej wartość na
1.

używaj ścisłego;
użyj ostrzeżeń FATAL => 'wszystkie';

pakiet Innotop::Plugin::Przykład;
# opis: Dodaje kolumnę „przykład” do każdej tabeli

sub nowy {
moja ( $klasa, %zmienne ) = @_;
# Przechowuj odniesienie do zmiennych innotop w $self
moje $ja = błogosław { %vars }, $klasa;

# Zaprojektuj przykładową kolumnę
mój $kol = {
hdr => 'Przykład',
po prostu => '',
gru => 0,
liczba => 1,
etykieta => 'Przykład',
src => 'przykład', # Pobierz dane z tej kolumny w źródle danych
tabela => '',
trans => [],
};

# Dodaj kolumnę do każdej tabeli.
moja $tbl_meta = $vars{tbl_meta};
foreach my $tbl ( wartości %$tbl_meta ) {
# Dodaj kolumnę do listy zdefiniowanych kolumn
$tbl->{kolumny}->{przykład} = $kolumna;
# Dodaj kolumnę do listy widocznych kolumn
unshift @{$tbl->{widoczny}}, 'przykład';
}

# Upewnij się, że zwracasz referencję do obiektu.
zwróć $self;
}

# Chciałbym być wywoływany, gdy zestaw danych jest renderowany do tabeli, proszę.
subrejestr_na_wydarzenia {
mój ( $ siebie ) = @_;
zwróć qw(set_to_tbl_pre_filter);
}

# Ta metoda zostanie wywołana, gdy zdarzenie zostanie wywołane.
podzestaw_to_tbl_pre_filter {
mój ( $self, $wiersze, $tbl ) = @_;
# Ustaw źródło danych kolumny przykładowej na wartość 1.
foreach mój $wiersz ( @$wiersze ) {
$wiersz->{przykład} = 1;
}
}

1;

Podłącz redaktor
Edytor wtyczek umożliwia przeglądanie wtyczek nieodkrytych oraz aktywację lub dezaktywację
ich. Uruchom edytor, naciskając $, aby uruchomić edytor konfiguracji z dowolnego trybu.
Naciśnij klawisz „p”, aby uruchomić edytor wtyczek. Zobaczysz listę wtyczek innotop
odkryty. Możesz użyć klawiszy „j” i „k”, aby przesunąć podświetlenie do żądanego,
następnie naciśnij klawisz *, aby przełączyć go na aktywny lub nieaktywny. Wyjdź z edytora i uruchom ponownie innotop
aby zmiany zaczęły obowiązywać.

SQL SPRAWOZDANIA


innotop używa ograniczonego zestawu instrukcji SQL do pobierania danych z MySQL do wyświetlenia. ten
instrukcje są dostosowywane w zależności od wersji serwera, na którym są wykonywane;
na przykład w MySQL 5 i nowszych, INNODB_STATUS wykonuje "SHOW ENGINE INNODB STATUS",
podczas gdy we wcześniejszych wersjach wykonuje "SHOW INNODB STATUS". Oświadczenia są jak
następuje:

Wykonano instrukcję SQL
=================== ================================
INNODB_STATUS POKAŻ [SILNIK] INNODB STATUS
ZABIJ_POŁĄCZENIE ZABIJ
KILL_QUERY KILKA ZAPYTANIA
OPEN_TABLES POKAŻ OTWARTE TABLES
LISTA PROCESÓW POKAŻ PEŁNĄ LISTĘ PROCESÓW
SHOW_MASTER_LOGS POKAŻ MASTER LOGS
SHOW_MASTER_STATUS POKAŻ STATUS MASTER
SHOW_SLAVE_STATUS POKAŻ STATUS SLAVE
SHOW_STATUS POKAŻ [GLOBALNY] STATUS
SHOW_VARIABLES POKAŻ [GLOBALNE] ZMIENNE

DATA ŹRÓDŁA


Za każdym razem, gdy innotop wyodrębnia wartości, aby utworzyć tabelę (patrz „WYRAŻENIA” i „TABLICE”),
robi to z określonego źródła danych. Głównie ze względu na złożone dane wyodrębnione z
POKAŻ STATUS INNODB, to jest trochę bałagan. POKAŻ INNODB STATUS zawiera mieszankę
pojedyncze wartości i powtarzające się wartości, które tworzą zagnieżdżone zestawy danych.

Za każdym razem, gdy innotop pobiera dane z MySQL, dodaje dwa dodatkowe bity do każdego zestawu: cxn i
Czas pracy_zatrudnienia. cxn to nazwa połączenia, z którego pochodzą dane. Uptime_hires
jest wersją zmiennej stanu Uptime serwera w wysokiej rozdzielczości, co jest ważne, jeśli
Twoje ustawienie „interwału” to sub-sekunda.

Oto rodzaje źródeł danych, z których wyodrębniane są dane:

ZMIENNE_STATUSU
Jest to najszersza kategoria, do której należy najwięcej rodzajów danych. Zaczyna się od
połączenie POKAŻ STATUS i POKAŻ ZMIENNE, ale można uwzględnić inne źródła
w razie potrzeby, na przykład POKAŻ STATUS MASTER i POKAŻ STATUS SLAVE, a także wiele
niepowtarzające się wartości z POKAŻ INNODB STATUS.

DEADLOCK_LOCKS
Dane te są pobierane z listy transakcji w NAJNOWSZYM WYKRYTYM DEADLOCK
sekcja POKAŻ STATUS INNODB. Jest zagnieżdżony na dwóch poziomach głęboko: transakcje, a następnie
zamki

DEADLOCK_TRANSACTIONS
Te dane pochodzą z listy transakcji w sekcji NAJNOWSZE WYKRYTE ZAMKNIĘCIE okna POKAŻ
STAN INNODB. Jest zagnieżdżony o jeden poziom.

WYJAŚNIJ
Te dane pochodzą z zestawu wyników zwróconego przez EXPLAIN.

INNODB_TRANSACTIONS
Te dane pochodzą z sekcji TRANSAKCJE w oknie POKAŻ STATUS INNODB.

IO_WĄTKI
Te dane pochodzą z listy wątków w sekcji FILE I/O w SHOW INNODB
STATUS

INNODB_LOCKS
Te dane pochodzą z sekcji TRANSAKCJE w oknie SHOW INNODB STATUS i są zagnieżdżone w dwóch
poziomy głębokie.

OTWARTE_TABELE
Te dane pochodzą z SHOW OPEN TABLES.

LISTA PROCESÓW
Te dane pochodzą z POKAŻ PEŁNĄ LISTĘ PROCESÓW.

OS_WAIT_ARRAY
Te dane pochodzą z sekcji SEMAPHORES programu SHOW INNODB STATUS i są zagnieżdżone na jednym poziomie
głęboki. Pochodzi z linii, które wyglądają tak:

--Wątek 1568861104 czekał w wierszu 0 btr424cur.c ....

MYSQL PRZYWILEJE


· Musisz połączyć się z MySQL jako użytkownik, który ma uprawnienia SUPER dla wielu
funkcje.

· Jeśli nie masz uprawnienia SUPER, możesz nadal uruchamiać niektóre funkcje, ale nie będziesz
koniecznie zobaczyć wszystkie te same dane.

· Aby wyświetlić listę aktualnie uruchomionych zapytań w trybie Q, potrzebujesz uprawnienia PROCESS.

· Do uruchamiania i zatrzymywania serwerów podrzędnych potrzebne są specjalne uprawnienia.

· Potrzebujesz odpowiednich uprawnień do tworzenia i usuwania tabel zakleszczeń w razie potrzeby (patrz
„POŁĄCZENIA Z SERWEREM”).

SYSTEM WYMAGANIA


Potrzebujesz oczywiście Perla, aby uruchomić innotop. Potrzebujesz również kilku modułów Perla: DBI,
DBD::mysql, Term::ReadKey i Time::HiRes. Powinny one być dołączone do większości Perl
dystrybucje, ale jeśli nie są, polecam używać wersji dystrybuowanych z twoim
system operacyjny lub dystrybucję Perla, a nie z CPAN. Termin::ReadKey w szczególności ma
wiadomo, że powoduje problemy, jeśli jest zainstalowany z CPAN.

Jeśli masz Term::ANSIColor, innotop użyje go do bardziej czytelnego formatowania nagłówków i
zwięźle. (W systemie Microsoft Windows potrzebujesz również Win32::Console::ANSI dla terminala)
kody formatowania, które mają być honorowane). Jeśli zainstalujesz Term::ReadLine, najlepiej
Term::ReadLine::Gnu, otrzymasz niezłą obsługę autouzupełniania.

Uruchamiam innotop na Gentoo GNU/Linux, Debianie i Ubuntu i otrzymałem opinie od ludzi
z powodzeniem działa na Red Hat, CentOS, Solaris i Mac OSX. nie widzę powodu
dlaczego nie będzie działać na innych uniksowych systemach operacyjnych, ale nie wiem na pewno. To również
działa w systemie Windows pod ActivePerl bez problemu.

innotop został użyty na MySQL w wersjach 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15,
oraz 5.2.3. Jeśli nie działa poprawnie, jest to błąd, który należy zgłosić.

Korzystaj z innotop online korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad