Verze 5.1.6 a vyšší:
1. Vstupte do prostředí MySQL a spusťte následující příkaz:
set global slow_query_log = 'ON';
2. Povolte jakékoli další požadované možnosti. Zde je několik běžných příkladů:
Podrobnosti protokolu pro dotazy, u kterých se očekává, že načtou všechny řádky namísto použití indexu:
set global log_queries_not_using_indexes = 'ON'
Nastavte cestu k protokolu pomalých dotazů:
set global slow_query_log_file ='/var/log/mysql/slow-query.log';
Nastavte dobu, po kterou musí dotaz běžet, než bude protokolován:
set global long_query_time = 20;
(default is 10 seconds)
3. Potvrďte, že změny jsou aktivní, zadáním shellu MySQL a spuštěním následujícího příkazu:
show variables like '%slow%';
Verze nižší než 5.1.6:
-
Upravte soubor /etc/my.cnf pomocí svého oblíbeného textového editoru /etc/my.cnf
-
Přidejte následující řádek pod sekci „[mysqld]“. Neváhejte a aktualizujte cestu k souboru protokolu na cokoli chcete:
log-slow-queries=/var/log/mysql/slow-query.log
3. Podle potřeby povolte další možnosti. Zde jsou stejné běžně používané příklady výše:
Nastavte dobu, po kterou musí dotaz běžet, než bude protokolován:
`long_query_time=20
(default is 10 seconds)`
Podrobnosti protokolu pro dotazy, u kterých se očekává, že načtou všechny řádky namísto použití indexu:
`log-queries-not-using-indexes`
4. Restartujte službu MySQL:
service mysqld restart
5. Potvrďte, že je změna aktivní, zadáním shellu MySQL a spuštěním následujícího:
show variables like '%slow%';
Aktualizace:1
Podle dokumentů MySQL se chyba #1193 objeví, když použijete nesprávný kód pro SQLSTATE.
Message: Unknown system variable %s
A jak můžete vidět na stejné stránce, SQLSTATE 99003 není definován.
přejděte na tento odkaz:
http://dev.mysql.com/doc /refman/5.5/en/slow-query-log.html
http://dev.mysql.com/doc /refman/5.1/cs/slow-query-log.html