Узнать размер базы данных через консоль 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)В данном случае вместо группировки GROUP BY table_schema, мы сделали выборку по имени базы данных WHERE table_schema="database1". Удачи.
Комментарии
Отправить комментарий