Узнать размер базы 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;

размер базы mysql

Здесь 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;

размер базы mysql

Здесь мы получаем размер каждой таблицы в базе slax_site.

@SysadminNotes | https://sysadmin.pm

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *