Version 5.1.6 och senare:
1. Ange MySQL-skalet och kör följande kommando:
set global slow_query_log = 'ON';
2. Aktivera andra önskade alternativ. Här är några vanliga exempel:
Logginformation för frågor som förväntas hämta alla rader istället för att använda ett index:
set global log_queries_not_using_indexes = 'ON'
Ange sökvägen till den långsamma frågeloggen:
set global slow_query_log_file ='/var/log/mysql/slow-query.log';
Ange hur lång tid en fråga behöver köras innan den loggas:
set global long_query_time = 20;
(default is 10 seconds)
3. Bekräfta att ändringarna är aktiva genom att ange MySQL-skalet och köra följande kommando:
show variables like '%slow%';
Version under 5.1.6:
-
Redigera filen /etc/my.cnf med din favorittextredigerarevi /etc/my.cnf
-
Lägg till följande rad under avsnittet "[mysqld]". Uppdatera gärna sökvägen till loggfilen till vad du vill:
log-slow-queries=/var/log/mysql/slow-query.log
3. Aktivera ytterligare alternativ efter behov. Här är samma vanliga exempel från ovan:
Ange hur lång tid en fråga behöver köras innan den loggas:
`long_query_time=20
(default is 10 seconds)`
Logginformation för frågor som förväntas hämta alla rader istället för att använda ett index:
`log-queries-not-using-indexes`
4. Starta om MySQL-tjänsten:
service mysqld restart
5. Bekräfta att ändringen är aktiv genom att gå in i MySQL-skalet och köra följande:
show variables like '%slow%';
Uppdatering:1
Enligt MySQL-dokument uppstår felet #1193 när du använder fel kod för SQLSTATE.
Message: Unknown system variable %s
Och som du kan se på samma sida är SQLSTATE 99003 inte definierad.
se denna länk:
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