Як отримати розмір бази даних mysql?
Припустимо, цільова база даних називається "v3".
Як отримати розмір бази даних mysql?
Припустимо, цільова база даних називається "v3".
Відповіді:
Запустіть цей запит, і ви, ймовірно, отримаєте те, що шукаєте:
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 , де доступні більш вичерпні інструкції.
FROM
і GROUP
: where table_schema='DATABASE_NAME'
- замінивши DATABASE_NAME
свою базу даних.
Syntax error: {column title} (double quoted text) is not valid input here.
помилку. Назви стовпців повинні бути загорнуті галочками. Тобто Database Name
.
Визначити це можна за допомогою наступної команди MySQL
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
Результат
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
Отримайте результат у ГБ
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema
Крім того, ви можете безпосередньо перейти до каталогу даних і перевірити комбінований розмір v3.myd, v3. myi та v3. frm файли (для myisam) або v3.idb & v3.frm (для innodb).
Щоб отримати результат в МБ:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
Щоб отримати результат в ГБ:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024), 2)) AS "SIZE IN GB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
mysqldiskusage --server=root:MyPassword@localhost pics
+----------+----------------+
| db_name | total |
+----------+----------------+
| pics | 1,179,131,029 |
+----------+----------------+
Якщо це не встановлено, це можна встановити, встановивши mysql-utils
пакет, який повинен бути упакований більшістю основних дистрибутивів.
Перший вхід у MySQL за допомогою
mysql -u username -p
Команда для відображення розміру однієї бази даних разом з її таблицею в МБ.
SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;
Змініть ім'я_бази_файлів у базі даних
Команда для відображення всіх баз даних з її розміром у МБ.
SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
Зайдіть у каталог даних mysql і запустіть du -h --max-depth=1 | grep databasename