Per offrirti un'esperienza di navigazione sempre migliore, questo sito utilizza cookie propri e di terze parti, partner selezionati. I cookie di terze parti potranno anche essere di profilazione.
Le tue preferenze si applicheranno solo a questo sito web. Puoi modificare le tue preferenze in qualsiasi momento ritornando su questo sito o consultando la nostra informativa sulla riservatezza.
E' possibile rivedere la nostra privacy policy cliccando qui e la nostra cookie policy cliccando qui.
Per modificare le impostazioni dei cookies clicca qui
  • seguici su feed rss
  • seguici su twitter
  • seguici su linkedin
  • seguici su facebook
  • cerca

SEI GIA' REGISTRATO? EFFETTUA ADESSO IL LOGIN.



ricordami per 365 giorni

HAI DIMENTICATO LA PASSWORD? CLICCA QUI

NON SEI ANCORA REGISTRATO ? CLICCA QUI E REGISTRATI !

Come verificare la dimensione di un database MySQL in Linux

di :: 19 aprile 2018
Come verificare la dimensione di un database MySQL in Linux

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/
 
 
 
 
pay per script

Hai bisogno di uno script PHP personalizzato, di una particolare configurazione su Linux, di una gestione dei tuoi server Linux, o di una consulenza per il tuo progetto?

x

ATTENZIONE