Узнать размер базы MySQL
Получить размер базы MySQL можно как с помощью команды du (подсчитав размер директории с базой), так и с помощью специального запроса в рамках MySQL непосредственно.
Узнать размер с помощью du можно, например, так:
# cd /var/lib/mysql/
# du -sh slax_site/
2,9M slax_site/
Размер базы MySQL запросом.
Однако размер базы данных может отличаться от размера занятого директорией места на диске. Для того что бы узнать размер БД, можно сделать запрос к information_schema — базе, в которой хранится информация о всех БД (и их настройках) на сервере. Получить размеры базы данных можно вот таким запросом:
SELECT table_schema AS "Database Name",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "slax_site"
GROUP BY table_schema;
Здесь slax_site — имя базы, размер которой мы хотим узнать.
Для того что бы увидеть размер всех баз, уберём одно условие из запроса:
SELECT table_schema AS "Database Name",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
Так же, мы можем получить информацию о размере таблиц в базе, при этом, запрос будет выглядеть так:
SELECT table_name AS "Table Name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "slax_site"
ORDER BY (data_length + index_length) DESC;
Здесь мы получаем размер каждой таблицы в базе slax_site.