• cerca

SEI GIA' REGISTRATO? EFFETTUA ADESSO IL LOGIN.



HAI DIMENTICATO LA PASSWORD? CLICCA QUI

NON SEI ANCORA REGISTRATO A WEBAREA? CLICCA QUI E REGISTRATI !

Come verificare la dimensione di un database MySQL in Linux

di :: 19 aprile 2018

dimensione database mysql

In questo articolo vediamo come verificare la dimensione di un database MySQL / MariaDB, e delle sue tabelle, utilizzando la shell MySQL.

MySQL utilizza il database virtuale "information_schema" per archiviare informazioni relative ai database, per cui interroghiamo questo database e vediamo quali informazioni possiamo ottenere.

Innanzitutto accediamo alla shell MySQL

# mysql -u root -p

Entrati nell shell, procediamo con la seguente query, con la quale otteniamo, per ogni database presente, il peso in MB

mysql> SELECT table_schema AS "Nome Database", 
    -> ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Peso in MB" 
    -> FROM information_schema.TABLES 
    -> GROUP BY table_schema; 

Il risultato ottenuto è, ad esempio, il seguente

+--------------------+------------+
| Nome Database      | Peso in MB |
+--------------------+------------+
| archivio           |    1383.11 |
| utenze             |      66.08 |
| information_schema |       0.01 |
| mysql              |       0.65 |
| miosito            |      14.90 |
+--------------------+------------+

Se invece vogliamo conoscere la dimensioni delle tabelle di uno specifico database, ad esempio il database "archivio", utilizziamo questa query

mysql> SELECT table_name AS "Nome Tabella",
    -> ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
    -> FROM information_schema.TABLES
    -> WHERE table_schema = "archivio"
    -> ORDER BY (data_length + index_length) DESC;

In risultato sarà, ad esempio, il seguente

+----------------+--------------+
| Nome Tabella   | Size in (MB) |
+----------------+--------------+
| geoip          |       803.81 |
| uabrow         |       514.91 |
| content        |        62.44 |
| servizi        |         0.95 |
| categorie      |         0.41 |
| area           |         0.30 |
| partner        |         0.28 |
| operatori      |         0.01 |
+----------------+--------------+

Possiamo uscire dalla shell di MySQL

Come impostazione predefinita, MySQL (e MariaDB) memorizza tutti i dati nel file system (nelle distribuzioni CentOS, Fedora e simili sotto il path "/var/lib/mysql"), e le dimensioni dei dati esistenti sul database potrebbero differire dalle dimensioni effettive dei dati sul disco. Se vogliamo conoscere lo spazio effettivo occupato dal database su disco, usiamo da terminare linux il comando "du" per scoprire il peso della directory "/var/lib/mysql":

# du -h /var/lib/mysql/

Il risultato sarà, ad esempio

1.3G    /var/lib/mysql/archivio
66M     /var/lib/mysql/utenze
14.9M   /var/lib/mysql/miosito
1.4G    /var/lib/mysql/

Potrebbe interessarti

x

ATTENZIONE