sql >> Database >  >> RDS >> Mysql

Hoe MySQL Slow Query Log in MySQL in te schakelen?

MySQL-log met trage query's maakt het gemakkelijk om SQL-query's bij te houden die meer dan een bepaalde tijd in beslag nemen. Hierdoor kunt u inefficiënte SQL-query's vinden die kunnen worden geoptimaliseerd om de databaseprestaties te verbeteren. Hier zijn de stappen om MySQL slow query log in te schakelen. U kunt ze gebruiken om langzame querylog in RDS, MariaDB en Aurora in te schakelen.


Hoe MySQL Slow Query Log in MySQL in te schakelen

Hier zijn de stappen om langzame querylog in MySQL in te schakelen.


1. Log in op MySQL

Terminal openen en inloggen op MySQL

$ mysql -u root -p 

U wordt gevraagd om het wachtwoord in te voeren. Voer het in om in te loggen.

Bonus lezen:Top 5 MySQL-bewakingstools

2. Langzame querylog inschakelen

Typ de volgende opdracht om het logbestand voor trage zoekopdrachten in te schakelen

mysql> SET GLOBAL slow_query_log = 'ON';


3. Langzame zoekopdrachtlog aanpassen

Nadat u het logboek voor langzame query's hebt ingeschakeld, registreert MySQL elke SQL-query die langer dan 10 seconden duurt om uit te voeren.

Als u wilt, kunt u dit tijdsinterval wijzigen door de volgende opdracht uit te voeren. Vervang 'x' door het tijdsinterval seconden dat MySQL moet wachten voordat een zoekopdracht wordt geregistreerd.

mysql> SET GLOBAL long_query_time = x;

Hoe vind je een langzame querylog

Standaard slaat MySQL een langzame querylog op op /var/lib/mysql/hostname-slow.log . Als u wilt, kunt u dit met de volgende opdracht wijzigen in een ander bestandspad. Vervang pad en bestandsnaam met respectievelijk bestandspad en bestandsnaam.

mysql> SET GLOBAL slow_query_log_file = '/path/filename';

Bonus lezen:Top 5 MySQL GUI-tools

4. Traag loggen van zoekopdrachten verifiëren

Log uit bij MySQL en log opnieuw in. Voer de volgende query uit om deze als een langzame query te loggen. Vervang y door het tijdsinterval dat groter is dan de waarde die u in stap 3 hebt gebruikt.

mysql> sleep(y);

Open het log met trage zoekopdrachten

$ sudo vi /path/filename

U vindt informatie over de bovenstaande vraag.

Bonus lezen:MySQL-query versnellen

5. Logboek voor trage zoekopdrachten uitschakelen

Als u het logbestand voor trage zoekopdrachten wilt uitschakelen, logt u in op MySQL en voert u de volgende opdracht uit.

mysql> SET GLOBAL slow_query_log = 'OFF';

Hopelijk helpt het bovenstaande artikel u om langzame querylog in MySQL in te schakelen.

  1. Tabelnaam als een PostgreSQL-functieparameter

  2. Omvang van SQL Server-database met behulp van back-upgeschiedenis

  3. Spring Data JPA Auditing werkt niet voor de JpaRepository-updatemethode met @Modifying-annotatie, waarom?

  4. Een POST-verzoek verzenden met formuliergegevens en parameters in PL/SQL