Как получить размер базы данных mysql?

Как получить размер базы данных mysql?
Предположим, что целевая база данных называется "В3".

7 ответов


запустите этот запрос, и вы, вероятно, получите то, что ищете:

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; 

этот запрос исходит от форумы mysql, где есть более полные инструкции.


Это может быть определено с помощью следующей команды MySQL

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema

результат

Database    Size (MB)
db1         11.75678253
db2         9.53125000
test        50.78547382

получить результат в ГБ

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema

в качестве альтернативы вы можете напрямую перейти в каталог данных и проверить комбинированный размер v3.мыдь, В3. myi и В3. файлы frm (для myisam) или v3.idb & v3.frm (для innodb).


Если вы используете phpMyAdmin, вы можете взглянуть на сумму размеров таблицы в нижнем колонтитуле вашей базы данных structure tab. Фактический размер базы данных может быть немного больше этого размера, однако он, по-видимому, согласуется с table_schema метод, упомянутый выше.

экран-выстрел :

enter image description here


чтобы получить результат в МБ:

SELECT  SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 ), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = "SCHEMA-NAME";`

чтобы получить результат в ГБ:

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  |
+----------+----------------+

перейдите в каталог данных mysql и запустите du-h --max-depth=1 / grep databasename