Come ottenere le dimensioni di un database mysql?
Supponiamo che il database di destinazione sia chiamato "v3".
Come ottenere le dimensioni di un database mysql?
Supponiamo che il database di destinazione sia chiamato "v3".
Risposte:
Esegui questa query e probabilmente otterrai quello che stai cercando:
SELECT table_schema "DB Name",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
FROM information_schema.tables
GROUP BY table_schema;
Questa query proviene dai forum mysql , dove sono disponibili istruzioni più complete.
FROM
e GROUP
: where table_schema='DATABASE_NAME'
- sostituendo DATABASE_NAME
con il tuo database.
Syntax error: {column title} (double quoted text) is not valid input here.
errore. I titoli delle colonne devono essere racchiusi tra segni di spunta. Vale a dire Database Name
.
Può essere determinato usando il seguente comando MySQL
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
Risultato
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
Ottieni risultati in GB
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema
In alternativa, se si utilizza phpMyAdmin
, è possibile dare un'occhiata alla somma delle dimensioni della tabella nel piè di pagina della structure
scheda del database . La dimensione effettiva del database potrebbe essere leggermente superiore a questa dimensione, tuttavia sembra essere coerente con il table_schema
metodo sopra menzionato.
Immagine dello schermo :
In alternativa è possibile passare direttamente alla directory dei dati e verificare la dimensione combinata di v3.myd, v3. myi e v3. file frm (per myisam) o v3.idb e v3.frm (per innodb).
Per ottenere un risultato in MB:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
Per ottenere un risultato in GB:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024), 2)) AS "SIZE IN GB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
mysqldiskusage --server=root:MyPassword@localhost pics
+----------+----------------+
| db_name | total |
+----------+----------------+
| pics | 1,179,131,029 |
+----------+----------------+
Se non installato, questo può essere installato installando il mysql-utils
pacchetto che dovrebbe essere impacchettato dalla maggior parte delle principali distribuzioni.
Per prima cosa accedi a MySQL usando
mysql -u username -p
Comando per visualizzare le dimensioni di un singolo database insieme alla sua tabella in MB.
SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;
Cambia database_name nel tuo database
Comando per visualizzare tutti i database con le sue dimensioni in MB.
SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
Vai nella directory dei dati mysql ed esegui du -h --max-depth=1 | grep databasename