Ricerca nel sito web

Come controllare la dimensione del database MySQL in Linux


In questo articolo ti mostrerò come controllare la dimensione dei database e delle tabelle MySQL/MariaDB tramite la shell MySQL. Imparerai come determinare la dimensione reale di un file di database sul disco e la dimensione dei dati presenti in un database.

Leggi anche: 20 comandi MySQL (Mysqladmin) per l'amministrazione di database in Linux

Per impostazione predefinita, MySQL/MariaDB memorizza tutti i dati nel file system e la dimensione dei dati esistenti nei database potrebbe differire dalla dimensione effettiva dei dati Mysql sul disco che vedremo in seguito.

Inoltre, MySQL utilizza il database virtuale information_schema per archiviare informazioni sui database e altre impostazioni. Puoi interrogarlo per raccogliere informazioni sulla dimensione dei database e delle relative tabelle come mostrato.

mysql -u root -p
MariaDB [(none)]> SELECT table_schema AS "Database Name", 
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)" 
FROM information_schema.TABLES 
GROUP BY table_schema; 

Per scoprire la dimensione di un singolo database MySQL chiamato rcubemail (che visualizza la dimensione di tutte le tabelle in esso contenute) utilizza la seguente query mysql.

MariaDB [(none)]> SELECT table_name AS "Table Name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "rcubemail"
ORDER BY (data_length + index_length) DESC;

Infine, per scoprire la dimensione effettiva di tutti i file del database MySQL sul disco (file system), esegui il comando du di seguito.

du -h /var/lib/mysql

Potrebbe interessarti anche leggere i seguenti articoli relativi a MySQL.

  1. 4 utili strumenti da riga di comando per monitorare le prestazioni di MySQL in Linux
  2. 12 Best practice per la sicurezza MySQL/MariaDB per Linux

Per qualsiasi domanda o idea aggiuntiva che desideri condividere su questo argomento, utilizza il modulo di feedback riportato di seguito.