Узнать размер базы данных через консоль 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″. Удачи.
Как увидеть реальный размер базы данных?
Добрый вечер мне нужно хранить примерно 30к строк, и меня интересует как бд на 30000 строк весит столько же сколько и бд но без записей. Вот пример: Вот примерное наполнение таблицы:
Вообщем просто набор букв для таблицы. И как узнать реальный вес бд/таблицы?
Отслеживать
задан 15 сен 2022 в 19:20
62 7 7 бронзовых знаков
При создании БД сразу выделяется некоторое количество памяти для будущего использования. File Space Management
15 сен 2022 в 20:05
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Итак я нашел как посмотреть вес mysql таблиц. Все очень просто (идем путем поиска и взвешивания файлов ).
- Узнаем где храняться все файлы бд и таблиц.
grep datadir /etc/my.cnf
grep -r datadir /etc/mysql/
Вот что вы получите:
- Переходим в директорию после знака = :
cd /var/lib/mysql
- Что бы получить вес таблицы мы переходим в папку с названием нашей базы данных и что бы в приятном виде мы увидели вес файлов нужно ввести:
ls -lh
Вы увидете примерно такое:
Также что бы видеть размер в МегаБайтах можно добавить аргумент —block-size=MB Пример:
ls -lh --block-size=MB
Вот и все мы видим вес любой таблицы.
Отслеживать
ответ дан 15 сен 2022 в 20:38
62 7 7 бронзовых знаков
15 сен 2022 в 20:46
Если нет доступа к самом серверу (к файловой системе), можно попробовать узнать размер сделав SQL запрос:
SELECT table_schema "DB Name", ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM information_schema.tables GROUP BY table_schema;
Или не применять округление и получить точный размер в байтах
MySql. Узнать размер базы данных
Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Узнаем размер базы данных с помощью запроса.
Для получения размера базы данных, можно выполнить запрос:
В данном примере выполняется запрос на получение размера базы данных с наименованием «blog«.
Поменять название БД на свое можно в строке — «WHERE table_schema = «blog»«.
Для этого нужно «blog» заменить на свое наименование базы данных.
-
Размер БД в мегабайтах:
SELECT table_schema AS "database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "size" FROM information_schema.TABLES WHERE table_schema = "blog" GROUP BY table_schema;
Результат выполнения запроса:
SELECT table_schema AS "database", ROUND(SUM(data_length + index_length) / 1024, 2) AS "size" FROM information_schema.TABLES WHERE table_schema = "blog" GROUP BY table_schema;
Размер базы данных MySQL
В наше время базы данных используются практически везде, я уже не говорю про крупные компании и команды разработчиков приложений, даже веб-мастера, которые делают свои сайты используют базы данных для хранения динамически изменяющейся информации. Обычно это одна из самых популярных баз данных — MariaDB или MySQL.
Но сколько занимает ваша база данных? А каждая таблица? Для больших проектов эти показатели могут достигать очень больших значений. В сегодняшней статье мы поговорим о том, как узнать размер базы данных MySQL через консоль и другими способами.
Размер базы данных MySQL
Я предполагаю, что ваша база данных установлена в Linux, но большинство методов будут работать и для других операционных систем. Самый простой способ прикинуть сколько места занимают все базы данных — это посмотреть размер папки с файлами базы данных в системе — /var/lib/mysql:
du -h /var/lib/mysql
Утилита позволяет узнать размер базы Mysql в мегабайтах. Но будет гораздо более правильно смотреть информацию о базе данных с помощью ее встроенных инструментов. Для в MySQL есть специальная таблица — Information_schema. Из нее мы и будем брать данные. Но сначала подключитесь к базе данных:
SELECT table_schema AS «Имя базы данных»,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS «Размер в Мб»
FROM information_schema.TABLES
GROUP BY table_schema;
Запрос выведет точный размер базы MySQL для каждой из существующих баз, теперь вы можете ориентироваться что и сколько занимает. Если у вас очень большой проект и большая база данных, то вы можете выводить информацию в гигабайтах:
SELECT table_schema AS «Имя базы данных»,
ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1024, 2) AS «Размер в Гб»
FROM information_schema.TABLES
GROUP BY table_schema;
Но это еще не все. Возможно, в базе данных есть ненужная информация, которая только замедляет работу системы. Мы можем посмотреть размер таблиц для каждой из баз данных. Запрос для этого будет выглядеть следующим образом:
SELECT table_name AS «Имя таблицы»,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS «Size in (MB)»
FROM information_schema.TABLES
WHERE table_schema = «wpfc_options»
ORDER BY (data_length + index_length) DESC;
Данная информация помогает понять какая таблица сколько занимает и это уже может навести на интересные мысли.
Размер базы данных в Phpmyadmin
Если вы не очень любите работать в терминале, то вы всегда можете использовать Phpmyadmin для просмотра размера базы данных. Размер каждой из таблиц базы данных вы можете посмотреть на вкладке «Структура», когда выберите базу данных для работы:
Что касается размера самой базы данных, то придется выполнить тот же запрос в интерфейсе программы на вкладке «SQL»:
Выводы
В этой небольшой статье мы рассмотрели как узнать размер базы данных MySQL несколькими способами. Если у вас остались вопросы, спрашивайте в комментариях!