Jak uzyskać rozmiar bazy danych MySQL?
Załóżmy, że docelowa baza danych nosi nazwę „v3”.
Jak uzyskać rozmiar bazy danych MySQL?
Załóżmy, że docelowa baza danych nosi nazwę „v3”.
Odpowiedzi:
Uruchom to zapytanie, a prawdopodobnie otrzymasz to, czego szukasz:
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;
To zapytanie pochodzi z forów mysql , na których dostępne są bardziej wyczerpujące instrukcje.
FROM
a GROUP
: where table_schema='DATABASE_NAME'
- zamieniając DATABASE_NAME
na bazę danych.
Syntax error: {column title} (double quoted text) is not valid input here.
błąd. Tytuły kolumn powinny być owinięte znakami ptaszka. Tj Database Name
.
Można to ustalić za pomocą następującego polecenia MySQL
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
Wynik
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
Uzyskaj wynik w GB
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema
Alternatywnie możesz bezpośrednio przejść do katalogu danych i sprawdzić łączny rozmiar v3.myd, v3. myi i v3. pliki frm (dla myisam) lub v3.idb i v3.frm (dla innodb).
Aby uzyskać wynik w MB:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
Aby uzyskać wynik w GB:
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 |
+----------+----------------+
Jeśli nie jest zainstalowany, można go zainstalować, instalując mysql-utils
pakiet, który powinien być spakowany przez większość głównych dystrybucji.
Pierwsze logowanie do MySQL za pomocą
mysql -u username -p
Polecenie wyświetlania rozmiaru pojedynczej bazy danych wraz z tabelą w MB.
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;
Zmień nazwę bazy danych na swoją bazę danych
Polecenie wyświetlenia wszystkich baz danych z rozmiarem w MB.
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;
Przejdź do katalogu danych mysql i uruchom du -h --max-depth=1 | grep databasename