sql >> Database teknologi >  >> RDS >> Mysql

Hvordan aktiverer jeg MySQL langsomme forespørgselslog?

Version 5.1.6 og nyere:

1. Indtast MySQL-skallen og kør følgende kommando:

set global slow_query_log = 'ON';

2. Aktiver andre ønskede muligheder. Her er nogle almindelige eksempler:

Logdetaljer for forespørgsler, der forventes at hente alle rækker i stedet for at bruge et indeks:

   set global log_queries_not_using_indexes = 'ON'

Indstil stien til den langsomme forespørgselslog:

  set global slow_query_log_file ='/var/log/mysql/slow-query.log';

Indstil den tid, en forespørgsel skal køre, før den logges:

   set global long_query_time = 20;
     (default is 10 seconds)

3. Bekræft, at ændringerne er aktive ved at indtaste MySQL-skallen og køre følgende kommando:

show variables like '%slow%';

Versioner under 5.1.6:

  1. Rediger /etc/my.cnf-filen med dit foretrukne tekstredigeringsværktøjvi /etc/my.cnf

  2. Tilføj følgende linje under afsnittet "[mysqld]". Du er velkommen til at opdatere stien til logfilen til hvad du vil:

    log-slow-queries=/var/log/mysql/slow-query.log

3. Aktiver yderligere muligheder efter behov. Her er de samme almindeligt anvendte eksempler fra oven:

Indstil den tid, en forespørgsel skal køre, før den logges:

  `long_query_time=20
  (default is 10 seconds)`

Logdetaljer for forespørgsler, der forventes at hente alle rækker i stedet for at bruge et indeks:

 `log-queries-not-using-indexes`

4. Genstart MySQL-tjenesten:

service mysqld restart

5. Bekræft, at ændringen er aktiv ved at indtaste MySQL-skallen og køre følgende:

show variables like '%slow%';

Opdatering:1

Ifølge MySQL-dokumenter opstår fejlen #1193, når du bruger forkert kode til SQLSTATE.

Message: Unknown system variable %s

Og som du kan se på samme side, er SQLSTATE 99003 ikke defineret.

se dette link:

http://dev.mysql.com/doc /refman/5.5/da/slow-query-log.html

http://dev.mysql.com/doc /refman/5.1/da/slow-query-log.html



  1. Parsing af tabel- og kolonnenavne fra SQL/HQL Java

  2. Hvordan får man kvartal fra dato i Oracle?

  3. T-SQL-fejl, faldgruber og bedste praksis – determinisme

  4. er `dato` et gyldigt mysql kolonnenavn?