Como obter o tamanho de um banco de dados mysql?
Suponha que o banco de dados de destino seja chamado "v3".
Como obter o tamanho de um banco de dados mysql?
Suponha que o banco de dados de destino seja chamado "v3".
Respostas:
Execute esta consulta e provavelmente encontrará 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 dos fóruns do mysql , onde há instruções mais abrangentes disponíveis.
FROM
e GROUP
: where table_schema='DATABASE_NAME'
- substituindo DATABASE_NAME
pelo seu banco de dados.
Syntax error: {column title} (double quoted text) is not valid input here.
erro. Os títulos das colunas devem ser colocados entre marcas de escala. Ou seja Database Name
.
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 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
Como alternativa, se você estiver usando, verifique phpMyAdmin
a soma dos tamanhos das tabelas no rodapé da structure
guia do banco de dados . O tamanho real do banco de dados pode estar um pouco acima desse tamanho, no entanto, parece ser consistente com o table_schema
método mencionado acima.
Captura de tela:
Como alternativa, você pode pular diretamente para o diretório de dados e verificar o tamanho combinado de v3.myd, v3. myi e v3. arquivos frm (para myisam) ou v3.idb e v3.frm (para innodb).
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 |
+----------+----------------+
Se não estiver instalado, pode ser instalado instalando o mysql-utils
pacote que deve ser empacotado pela maioria das principais distribuições.
Primeiro faça o login no MySQL usando
mysql -u username -p
Comando para exibir o tamanho de um único banco de dados junto com sua tabela em 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;
Altere database_name para seu banco de dados
Comando para exibir todos os bancos de dados com seu tamanho em 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;
Entre no diretório de dados do mysql e execute du -h --max-depth=1 | grep databasename