Узнать размер базы данных через консоль mysql

GuDron

dumpz.ws
Admin
Регистрация
28 Янв 2020
Сообщения
7,741
Реакции
1,448
Credits
25,126
Узнать размер базы данных через консоль mysql

Существует куча различных инструментов с графическим интерфейсом для управления и обслуживания баз данных (mysqladmin, navicat и прочие), плюс возможности панелей управления сервером, где можно получить информацию о базах данных, таблицах, пользователях. Однако иногда, при работе в консоли сервера через ssh, нужно по быстрому получить размеры существующих баз данных mysql. Для этого достаточно зайти в консольный клиент mysql и выполнить sql запрос.

root@localhost:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 43764664
Server version: 5.5.46-0+deb7u1 (Debian)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


В данном случае мы вошли из под рута. Выполняем запрос:

mysql> SELECT table_schema "database_name", sum( data_length + index_length )/1024/1024 "database size in MB" FROM information_schema.TABLES GROUP BY table_schema;
+--------------------+---------------------+
| database_name | database size in MB |
+--------------------+---------------------+
| database1 | 21.73606873 |
| database2 | 0.79687500 |
| information_schema | 0.00878906 |
| mysql | 0.68143845 |
| roundcube | 0.40625000 |
+--------------------+---------------------+
7 rows in set (0.14 sec)


Во второй колонке видим размер каждой базы данных. Что-бы узнать размер какой-то конкретной базы данных, чуть модифицируем sql запрос и получаем:

mysql> SELECT table_schema "database_name", sum( data_length + index_length )/1024/1024 "database size in MB" FROM information_schema.TABLES WHERE table_schema="festivalse";
+---------------+---------------------+
| database_name | database size in MB |
+---------------+---------------------+
| database1 | 21.73606873 |
+---------------+---------------------+
1 row in set (0.01 sec)