sql >> Databáze >  >> RDS >> Mysql

Jak povolit protokol pomalých dotazů v MySQL

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:

  1. Přihlaste se na svůj server pomocí SSH.
  2. Na příkazový řádek zadejte následující příkaz:
    mysql -u root -p
  3. Zadejte kořenové heslo MySQL.
  4. Chcete-li povolit protokol pomalých dotazů, zadejte do řádku mysql> následující příkaz:

    SET GLOBAL slow_query_log = 'ON';
  5. 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';
  6. 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.

  7. Pokračujte ve sledování souboru protokolu pomalého dotazu, abyste viděli, které dotazy se spouštějí dlouho.
  8. 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.


  1. Automatické ladění Azure SQL Database

  2. Jak odstranit všechny neabecední znaky z řetězce na serveru SQL?

  3. Online migrace z MySQL 5.6 Non-GTID na MySQL 5.7 s GTID

  4. Použití varchar(MAX) vs TEXT na SQL Server