Как получить размер базы данных MySQL?
Предположим, что целевая база данных называется "v3".
Как получить размер базы данных 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 , где доступны более полные инструкции.
FROM
и GROUP
строкой: where table_schema='DATABASE_NAME'
- замена DATABASE_NAME
на вашу базу данных.
Syntax error: {column title} (double quoted text) is not valid input here.
ошибку. Заголовки столбцов должны быть заключены в галочки. То есть Database 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
Получить результат в ГБ
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema
В качестве альтернативы, если вы используете phpMyAdmin
, вы можете взглянуть на сумму размеров таблицы в нижнем колонтитуле вашей structure
вкладки базы данных . Фактический размер базы данных может немного превышать этот размер, однако он соответствует table_schema
описанному выше методу.
Скриншот :
В качестве альтернативы вы можете напрямую перейти в каталог данных и проверить общий размер v3.myd, v3. myi и v3. файлы frm (для myisam) или v3.idb и v3.frm (для innodb).
Чтобы получить результат в МБ:
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-utils
пакет, который должен быть упакован в большинстве основных дистрибутивов.
Первый вход в MySQL с помощью
mysql -u username -p
Команда для отображения размера одной базы данных вместе с ее таблицей в МБ.
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;
Измените имя базы данных на свою базу данных
Команда для отображения всех баз данных с размером в МБ.
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;
Зайдите в каталог данных mysql и запустите du -h --max-depth=1 | grep databasename