Как получить размер базы данных mysql?
Предположим, что целевая база данных называется "v3".
Запустите этот запрос, и вы, вероятно, получите то, что ищете:
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, где доступны более полные инструкции.
В качестве альтернативы вы можете напрямую перейти в каталог данных и проверить общий размер v3.myd, v3. myi и v3. frm (для myisam) или v3.idb и v3.frm(для innodb).
В качестве альтернативы, если вы используете phpMyAdmin
, вы можете взглянуть на сумму размеров таблицы в нижнем колонтитужете вкладки structure
базы данных. Фактический размер базы данных может быть немного выше этого размера, однако он, по-видимому, согласуется с упомянутым выше методом table_schema
.
Экран:
Чтобы получить результат в MB:
SELECT SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 ), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = "SCHEMA-NAME";`
Чтобы получить результат в 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";`
Его можно определить, используя следующую команду 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
mysqldiskusage --server=root:MyPassword@localhost pics
+----------+----------------+
| db_name | total |
+----------+----------------+
| pics | 1,179,131,029 |
+----------+----------------+