Soms is het handig/noodzakelijk om te kunnen zien welke processen er allemaal op je database draaien. Dit kun je via PHPMyAdmin doen maar ook via shell. Het voordeel van het gebruik is dat je snel en makkelijk kunt zien welke queries er allemaal op je site draaien en deze desnoods kunt stoppen als ze problemen veroorzaken.
In dit artikel leggen we uit hoe je via shell de MySQL processen op je site kan bekijken/stoppen.

Maak verbinding met je database

Om via shell verbinding te kunnen maken met je database gebruik je het volgende commando:

mysql -h dbintXXXXXX -u uXXXXXX_root -p

Hierbij vervang je dbintXXXXXX met jouw hostnaam en uXXXXXX_root met de door jouw aangemaakte database gebruiker (of de root database gebruiker). Wanneer je dit commando uitvoert wordt je gevraagd om je wachtwoord in te voeren. Dit is het wachtwoord behorende aan de eerder opgegeven database gebruiker. Wanneer je dit allemaal correct invoert ben je ingelogd in de databaseserver.

Het is ook mogelijk om meteen in een van je gewenste databases in te loggen. Hiervoor gebruik je het volgende commando:

mysql -h dbintXXXXXX -u uXXXXXX_root -D dbXXXXXX_XXXXX -p

Bij dit commando vul je dezelfde gegevens in als het andere commando maar voeg je ook nog de naam van je database toe.
Let op! Jouw database gegevens staan ook verwerkt in het configuratiebestand van je CMS. We raden aan om dit bestand te openen (cat) en daarna bovenstaand commando uit te voeren. Je kunt nu namelijk makkelijk alle benodigde gegevens kopiëren en plakken in het commando.

Processen bekijken/stoppen

Nu je ingelogd bent in de databaseserver wil je natuurlijk weten welke processen er momenteel draaien op je database.Hiervoor gebruik je het onderstaande commando:

SHOW FULL PROCESSLIST;

Er wordt een tabel getoond als onderstaand.

+---------+--------------+------------------------+------+---------+------+-------+------------+| 
Id      | User         | Host                   | db   | Command | Time | State | Info       
|+---------+--------------+------------------------+------+---------+------+-------+------------+| 
4390181 | u010472_root | ssh1.c1.internal:34648 | NULL | Query   |    0 | NULL  | SOMETHING  
|+---------+--------------+------------------------+------+---------+------+-------+------------+
1 row in set (0.00 sec)

Wanneer je hier een proces ziet staan wat verwijderd/gestopt moet worden, gebruik je het volgende commando:

KILL QUERY 4390181;

Om de juiste query te killen gebruik je het Id nummer dat je aan de linkerkant van de tabel ziet staan.

Veelvoorkomende foumeldingen

ERROR 1045 (28000): Access denied for user ‘uxxxxx_xxxx’@’10.2.1.80’ (using password: YES)

Wanneer je deze foutmelding krijgt heb je ergens in het commando de verkeerde informatie opgegeven. Controleer je databasegegevens en probeer het daarna opnieuw.

ERROR 1094 (HY000): Unknown thread id:xxxxxx

Wanneer je deze melding krijgt probeer je of een query te killen die niet bestaat of heb je een foutje gemaakt in het commando zelf. Check eerst nog even welke processen er wel draaien en check of je het commando wel goed hebt uitgevoerd.

00