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

Hvordan kan jeg stoppe en MySQL-forespørgsel, hvis det tager for lang tid?

Der er et godt Perl-script på CPAN til at gøre netop dette:http ://search.cpan.org/~rsoliv/mysql-genocide-0.03/mysql-genocide

Man behøver kun at planlægge det til at køre med de rigtige parametre. Opret en CRONtab-fil /etc/cron.d/mysql_query_timeout for at planlægge den til at køre hvert minut:

* * * * * root /path/to/mysql-genocide -t 7200 -s -K

Hvor 7200 er den maksimalt tilladte udførelsestid i sekunder. -s-kontakten filtrerer alle undtagen SELECT-forespørgsler fra. -K-switchen instruerer scriptet til at dræbe matchningsprocesserne.

Root-brugeren bør være i stand til at køre lokale mysql-værktøjer uden godkendelse, ellers bliver du nødt til at angive legitimationsoplysninger på kommandolinjen.



  1. MySQL og Check Constraints

  2. MySql randomiser de sidste 10 rækker

  3. Jeg er forvirret over samtidige MySQL-forbindelser

  4. Sådan ændres standarddatabasens mailprofil for en bruger i SQL Server (T-SQL)