Tento článek popisuje, jak povolit protokol pomalých dotazů MySQL. Pomocí pomalého protokolu dotazů můžete určit, které databázové dotazy se spouštějí dlouho.
Tento článek se vztahuje pouze na produkty uvedené v Podrobnosti článku postranní panel. Abyste mohli postupovat podle těchto postupů, musíte mít k serveru přístup root. Pokud máte spravovaný VPS nebo spravovaný vyhrazený server (a nemáte přístup root) a chcete povolit protokol pomalých dotazů, otevřete si lístek na zákaznickém portálu na https://my.a2hosting.com.Povolení protokolu pomalých dotazů
Pomalé dotazy mohou ovlivnit výkon databáze a celkový výkon serveru. Funkce pomalého protokolu dotazů v MySQL umožňuje protokolovat dotazy, které překračují předem definovaný časový limit. To značně zjednodušuje hledání neefektivních nebo časově náročných dotazů.
Chcete-li povolit protokol pomalých dotazů v MySQL, postupujte takto:
- Přihlaste se na svůj server pomocí SSH.
- Na příkazový řádek zadejte následující příkaz:
mysql -u root -p
- Zadejte kořenové heslo MySQL.
-
Chcete-li povolit protokol pomalých dotazů, zadejte do řádku mysql> následující příkaz:
SET GLOBAL slow_query_log = 'ON';
-
Existují další možnosti, které můžete nastavit pro protokol pomalých dotazů:
- Ve výchozím nastavení, když je povolen protokol pomalých dotazů, protokoluje každý dotaz, jehož spuštění trvá déle než 10 sekund. Chcete-li tento interval změnit, zadejte následující příkaz a nahraďte X s časem v sekundách:
SET GLOBAL long_query_time = X;
-
Ve výchozím nastavení je soubor protokolu pomalého dotazu umístěn na adrese /var/lib/mysql/hostname-slow.log . Chcete-li změnit cestu protokolu nebo název souboru, zadejte následující příkaz a nahraďte cestu s cestou k souboru a název souboru s názvem souboru protokolu:
SET GLOBAL slow_query_log_file = '/path/filename';
- Ve výchozím nastavení, když je povolen protokol pomalých dotazů, protokoluje každý dotaz, jehož spuštění trvá déle než 10 sekund. Chcete-li tento interval změnit, zadejte následující příkaz a nahraďte X s časem v sekundách:
-
Chcete-li ověřit, že protokol pomalých dotazů funguje správně, odhlaste se z mysql programu a poté se znovu přihlaste. (Tím se znovu načtou proměnné relace pro mysql program.) Zadejte následující příkaz a nahraďte X s hodnotou, která je větší než long_query_time nastavení:
SELECT SLEEP(X);
Soubor protokolu pomalého dotazu by měl obsahovat informace o dotazu.
- Pokračujte ve sledování souboru protokolu pomalého dotazu, abyste viděli, které dotazy se spouštějí dlouho.
-
Po dokončení odstraňování problémů zakažte protokol pomalých dotazů. Chcete-li to provést, spusťte mysql program znovu a poté zadejte následující příkaz:
SET GLOBAL slow_query_log = 'OFF';
Protokol pomalých dotazů byste měli povolit pouze na dobu nezbytně nutnou k řešení problémů s výkonem.
Další informace
Další informace o protokolu pomalých dotazů MySQL naleznete na adrese https://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html.