Langzame vragen MySQL logboeken inschakelen

Uit Nl Ikoula wiki
Versie door Cbrochot1072d (overleg | bijdragen) op 22 okt 2021 om 09:41
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Jump to navigation Jump to search

fr:Activer les logs de requêtes lentes MySQL en:Enable slow queries MySQL logs es:Permitir consultas lentas de MySQL logs pt:Permitir consultas lentas os logs do MySQL it:Attivare slow query log di MySQL nl:Langzame vragen MySQL logboeken inschakelen de:Langsame Abfragen MySQL Protokolle aktivieren zh:启用慢速查询 MySQL 日志 ar:تمكين الاستعلامات بطيئة سجلات الخلية ja:低速のクエリ MySQL のログを有効にします。 pl:Po wolnych zapytań MySQL logi ru:Включение медленных запросов MySQL журналы ro:Enable lent întrebare MySQL busteni he:לאפשר שאילתות איטי יומני MySQL
Dit artikel is vertaald door middel van automatische vertalingssoftware. U kunt het artikel bron hier te bekijken.

fr:Activer les logs de requêtes lentes MySQL he:לאפשר שאילתות איטי יומני MySQL ro:Enable lent întrebare MySQL busteni ru:Включение медленных запросов MySQL журналы pl:Po wolnych zapytań MySQL logi ja:低速のクエリ MySQL のログを有効にします。 ar:تمكين الاستعلامات بطيئة سجلات الخلية zh:启用慢速查询 MySQL 日志 de:Langsame Abfragen MySQL Protokolle aktivieren nl:Langzame vragen MySQL logboeken inschakelen it:Attivare slow query log di MySQL pt:Permitir consultas lentas os logs do MySQL es:Permitir consultas lentas de MySQL logs en:Enable slow queries MySQL logs

Introductie

Waarschuwingen kunnen ontvangen controle over trage mysql query 's (slow queries) : ces erreurs sont produites quand le temps d'exécution d'une requête MySQL dépasse le temps alloué défini par la variable MySQL long_query_time. Ces erreurs pouvant être produites par différents facteurs, nous verrons ici comment activer les logs de ces erreurs afin de les analyser et les corriger.

Plaats

Veuillez noter qu'activer les logs de slow queries peut ralentir votre Server, étant donné que des écritures seront effectuées en même temps que l'exécution des requêtes lentes.

Controleer of de logboeken niet reeds actief

Om ervoor te zorgen dat de logs van de langzame vragen zijn niet is ingeschakeld, in SSH verbinden met uw computer en voer de MySQL shell :

mysql -u utilisateur -p
[mot de passe]


Eenmaal in de MySQL shell, voer de volgende opdracht om de lijst van alle variabelen en hun waarden :

show variables;


Navigeer om te zien de variabele in de linker kolom "slow_query_log" : op 'We ', de logboeken actief zijn. Op 'OFF', we moeten ze inschakelen.

Slow-queries-1.png

Inschakelen en configureren van de logboek-langzaam-vragen

Altijd in de MySQL shell, voer de volgende opdracht :

set global slow_query_log = 'ON';


U kunt ook een pad instellen naar de directory waar de trage query logs worden opgeslagen :

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


Ten slotte stelt een minimale tijd toegewezen aan elk verzoek om ervoor te zorgen heb je geen valse positieven van langzame vragen : 10 seconden is een correcte waarde, 20 seconden wordt aanbevolen als het gebeurt dat uw Server verzwakken in het gezicht van het aantal query's en bezoekers (Deze variabele wordt ingesteld basisinformatie 10 seconden) :

set global long_query_time = '20';


Controleer ten slotte of dat wijzigingen in aanmerking werden genomen door de volgende opdracht :

show variables like '%slow%';


Analyseren van Logboeken

In het geval van monitoring alerts vertellend u dat query's worden geschreven als langzaam, kunt u nu de logs van slow_queries analyseren om te begrijpen de reden voor deze vertragingen :

# montrera les requêtes en temps réel
tail -f /var/log/mysql/slow-query.log # défini dans notre exemple ci-dessus
# sortie complète du fichier
cat /var/log/mysql/slow-query.log
# naviguer de haut en bas
less /var/log/mysql/slow-query.log


Uitleg van het fenomeen

Zoals uitgelegd aan het begin van dit formulier, zijn de langzame vragen dedfinie door de uitvoeringstermijn gedefinieerde query ; Als de query langer door bepaalde termijn long_query_time duurt moet worden uitgevoerd, is het gedefinieerd als langzaam querie. De eerste reden voor het verkrijgen van langlopende query's kan worden slecht de MySQL variabele-instelling "long_query_time" ; een te laag maximumtijd kun sommige zware query's rechtstreeks in traag terwijl ze eigenlijk heel normaal.

Een andere reden kan worden gerelateerd aan het gebruik van MySQL door een externe dienst ; in het geval van een website, bijvoorbeeld kan slechte programmering niet auto dichte verbindingen aan MySQL integratie vullen de buffer, waardoor het langer lopende vragen.

Een slechte configuratie van de database kunnen ook de oorzaak van het fenomeen : joins van tabellen en de markeringen (sleutel) deze fouten kunnen worden gegenereerd - bijvoorbeeld in het geval van een tabel zonder primaire sleutel.

Enfin, il ne faut pas exclure l'hypothèse d'une attaque sur votre Server, générant de nombreuses requêtes qui finiront par s'entasser et donc dépasser la limite de temps d'exécution définie par long_query_time.

Conclusie

De logboeken zijn nu actief en kunnen u beter analyseren traag acties op uw database, zodat u voor de diagnose van de problemen van prestaties, programmering of gerichte aanvallen. Daarnaast, nu hebt u een beter visueel op acties die worden uitgevoerd op uw Server database.



Dit artikel nuttig lijken voor u ?

0



U mag niet reageren.