Wersja 5.1.6 i nowsze:
1. Wejdź do powłoki MySQL i uruchom następujące polecenie:
set global slow_query_log = 'ON';
2. Włącz wszelkie inne żądane opcje. Oto kilka typowych przykładów:
Szczegóły dziennika dla zapytań, które mają pobierać wszystkie wiersze zamiast korzystać z indeksu:
set global log_queries_not_using_indexes = 'ON'
Ustaw ścieżkę do dziennika powolnych zapytań:
set global slow_query_log_file ='/var/log/mysql/slow-query.log';
Ustaw czas, przez który zapytanie musi zostać uruchomione, zanim zostanie zarejestrowane:
set global long_query_time = 20;
(default is 10 seconds)
3. Potwierdź, że zmiany są aktywne, wchodząc do powłoki MySQL i uruchamiając następujące polecenie:
show variables like '%slow%';
Wersje poniżej 5.1.6:
-
Edytuj plik /etc/my.cnf swoim ulubionym edytorem tekstuvi /etc/my.cnf
-
Dodaj następujący wiersz w sekcji „[mysqld]”. Możesz dowolnie zaktualizować ścieżkę do pliku dziennika:
log-slow-queries=/var/log/mysql/slow-query.log
3. W razie potrzeby włącz dodatkowe opcje. Oto te same powszechnie używane przykłady powyżej:
Ustaw czas, przez który zapytanie musi zostać uruchomione, zanim zostanie zarejestrowane:
`long_query_time=20
(default is 10 seconds)`
Szczegóły dziennika dla zapytań, które mają pobierać wszystkie wiersze zamiast korzystać z indeksu:
`log-queries-not-using-indexes`
4. Uruchom ponownie usługę MySQL:
service mysqld restart
5. Potwierdź, że zmiana jest aktywna, wchodząc do powłoki MySQL i uruchamiając następujące polecenie:
show variables like '%slow%';
Aktualizacja:1
Zgodnie z dokumentacją MySQL, błąd #1193 pojawia się, gdy używasz niewłaściwego kodu dla SQLSTATE.
Message: Unknown system variable %s
Jak widać na tej samej stronie, SQLSTATE 99003 nie jest zdefiniowany.
odnieś się do tego linku:
http://dev.mysql.com/doc /refman/5.5/en/slow-query-log.html
http://dev.mysql.com/doc /refman/5.1/en/slow-query-log.html