Получить размер базы 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.