GNU/Linux >> Znalost Linux >  >> Linux

Jak povolit protokolování dotazů MySQL/MariaDB

V tomto krátkém a snadno sledovatelném průvodci popisujeme, jak povolit protokolování dotazů MySQL/MariaDB a ukládat dotazy do souboru.

Při používání databáze se často stává, že vývojáři chtějí vědět, co se děje za scénou. Ať už jde o řešení problémů, ladění výkonu nebo z pouhé zvědavosti.

Obecné protokoly dotazů zůstávají jedním z nejoblíbenějších zdrojů auditních a diagnostických informací v databázích MySQL/MariaDB. Po povolení protokolování zapíše databázový server informace do souboru protokolu, když se klienti připojí nebo odpojí, a zaznamená každý příkaz SQL.

Mějte však na paměti, že povolení obecného protokolu dotazů ovlivňuje výkon MySQL/MariaDB. To sníží propustnost asi o 13 % a prodlouží dobu odezvy serveru MySQL/MariaDB asi o 17 %.

Takže bez dalších okolků začněme, protože proces je docela přímočarý.

Povolit protokolování obecných dotazů MySQL/MariaDB

V MySQL/MariaDB je obecný protokol dotazů ve výchozím nastavení zakázán.

1. Vstupte do nástroje příkazového řádku serveru MySQL/MariaDB jako root:

mysql -u root -p

2. Nastavte cestu k souboru obecného protokolu na /var/logs/mysql/general-query.log provedením níže uvedeného dotazu.

SET GLOBAL general_log_file='/var/log/mysql/general-query.log';

Ve výchozím nastavení je obecný protokol dotazů zapsán ve stejném datovém adresáři, který obsahuje samotné podadresáře databáze (obvykle /var/lib/mysql ) a název souboru protokolu je výchozí název hostitele. Jak však vidíte, lze to změnit.

3. Povolte obecný protokol serveru:

SET GLOBAL general_log = 1;

Pojďme znovu zkontrolovat stav obecného protokolu dotazů MySQL/MariaDB:

SHOW VARIABLES LIKE "general_log%";

A je to. Od této chvíle můžete provést něco podobného jako sudo tail -f na general-query.log soubor z příkazového řádku a sledujte věci.

Jakmile dokončíte kontrolu, můžete zakázat protokolování dotazů MySQL/MariaDB následovně:

SET GLOBAL general_log = 0;

Rozhodně je nežádoucí mít zapnuté protokolování na produkčním serveru. Takže buďte opatrní, soubor protokolu se může velmi rychle zvětšit.

Pokud nechcete spouštět dotazy přímo, stále můžete povolit protokolování dotazů MySQL/MariaDB přímou úpravou konfiguračního souboru MySQL/MariaDB, ale mějte na paměti, že tento přístup vyžaduje restart databázového serveru.

Závěr

Obecný protokol dotazů MySQL/MariaDB může být velmi užitečný, když máte podezření na chybu v klientovi a chcete přesně vědět, co klient poslal do databáze. Takže pokud máte nějakou chybu nebo problém s databází, jeden ze způsobů, jak problém vysledovat, zapnout tento protokol a zkontrolovat, co se děje.

Více o povolení obecného protokolu dotazů MySQL/MariaDB si můžete přečíst zde a zde.


Linux
  1. Jak zastavit proces v MySQL

  2. Jak resetovat kořenové heslo MySQL nebo MariaDB

  3. Jak povolit možnost ladění v softwaru OpenCA

  1. Jak nahradit MySQL za MariaDB na CentOS 6

  2. Jak importovat exportní databázi v MYSQL MariaDB

  3. Jak povolit velké indexy v MariaDB 10 na Debianu 10

  1. Kde je protokol cron / crontab? / Jak povolit protokol Cron?

  2. Jak povolit protokol pomalých dotazů pro MySQL

  3. Jak povolit protokolování ladění NFS pomocí rpcdebug