Como obter o tamanho da base de dados mysql?
Suponha que a base de dados de destino é chamada "v3".
7 answers
Execute esta consulta e provavelmente terá o que procura:
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;
Esta consulta vem de os fóruns mysql , onde existem instruções mais abrangentes disponíveis.
Pode ser determinado usando o seguinte 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
Resultado
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
Obter o resultado em 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
Em alternativa, pode saltar directamente para a pasta de dados e verificar o tamanho combinado de v3.myd, v3. myi e v3. ficheiros frm (para o myisam) ou v3.bid & v3.frm (para innodb).
Em alternativa, se estiver a utilizar phpMyAdmin
, pode dar uma vista de olhos à soma dos tamanhos das tabelas no rodapé da sua base de dados structure
. O tamanho real da base de dados pode ser ligeiramente superior a este tamanho, no entanto, parece ser consistente com o método table_schema
mencionado acima.
Imagem :
Para obter um resultado em MB:
SELECT SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 ), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = "SCHEMA-NAME";`
Para obter um resultado em 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 |
+----------+----------------+
Vá para a pasta de dados mysql e execute du-h -- max-depth=1 / grep databasename