Home / Database & Server / Database & Server / Controllo dei processi e status tabelle in MySQL
Mattepuffo

Controllo dei processi e status tabelle in MySQL

Controllo dei processi e status tabelle in MySQL

Nel caso in cui abbiate un controllo diretto su vostro database, può essere utile sapere come controllare, e in caso killare, i processi sul server.

Farlo non è molto difficile.

Una volta che vi siete loggati lanciate questo comando:

show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host      | db   | Command | Time | State | Info             |
+----+------+-----------+------+---------+------+-------+------------------+
|  2 | root | localhost | NULL | Query   |    0 | NULL  | show processlist |
|  4 | book | localhost | NULL | Sleep   |   23 |       | NULL             |
+----+------+-----------+------+---------+------+-------+------------------+

Come vedete io ho due connessioni con utente root; nessuno delle due sta usando database specifici.

Facciamo un'altra prova:

show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host      | db   | Command | Time | State | Info             |
+----+------+-----------+------+---------+------+-------+------------------+
|  2 | root | localhost | NULL | Query   |    0 | NULL  | show processlist |
|  5 | root | localhost | book | Sleep   |   24 |       | NULL             |
+----+------+-----------+------+---------+------+-------+------------------+

Come vedete nella seconda connessione sono entrato nel database book.

Se adesso volessi killare il secondo processo mi basterebbe questo:

kill 5

Il comando kill seguito dall'Id (prima colonna del risultato visto prima).

Se invece vogliamo avere informazioni di stato sulle tabelle:

show table status;
+--------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| Name   | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation       | Checksum | Create_options | Comment |
+--------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| author | InnoDB |      10 | Compact    |   63 |            260 |       16384 |               0 |        16384 |  19922944 |             81 | 2012-12-10 13:59:14 | NULL        | NULL       | utf8_general_ci |     NULL |                |         |
| book   | InnoDB |      10 | Compact    |  102 |            160 |       16384 |               0 |        49152 |  19922944 |            136 | 2012-12-10 13:59:16 | NULL        | NULL       | utf8_general_ci |     NULL |                |         |
| editor | InnoDB |      10 | Compact    |   34 |            481 |       16384 |               0 |        16384 |  19922944 |             37 | 2012-12-10 13:59:15 | NULL        | NULL       | utf8_general_ci |     NULL |                |         |
| utenti | InnoDB |      10 | Compact    |    1 |          16384 |       16384 |               0 |            0 |  19922944 |           NULL | 2012-12-10 13:59:15 | NULL        | NULL       | utf8_general_ci |     NULL |                |         |
+--------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+

Output un pò confuso; in sostanza questo comando da informazioni come il tipo di tabellam quando è stata creata, quanto valori auto increment ci sono, ecc.

Volendo si può specificare una tabella:

show table status like 'author';

Se al posto del nome della tabella si mette % si ottiene lo stesso risultato di prima.

Se invece un controllo sullo status generale:

show status;

Non metto l'output perchè è parecchio lungo.