Wie erhalte ich die Größe einer MySQL-Datenbank?
Angenommen, die Zieldatenbank heißt "v3".
Wie erhalte ich die Größe einer MySQL-Datenbank?
Angenommen, die Zieldatenbank heißt "v3".
Antworten:
Wenn Sie diese Abfrage ausführen, erhalten Sie wahrscheinlich das, wonach Sie suchen:
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;
Diese Abfrage stammt aus den MySQL-Foren , in denen umfassendere Anweisungen verfügbar sind.
FROMund GROUPhinzu: where table_schema='DATABASE_NAME'- Ersetzen DATABASE_NAMEdurch Ihre Datenbank.
Syntax error: {column title} (double quoted text) is not valid input here.Fehler aus. Die Spaltentitel sollten in Häkchen gesetzt werden. Dh Database Name.
Sie kann mit dem folgenden MySQL-Befehl ermittelt werden
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
Ergebnis
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
Ergebnis in GB abrufen
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema
Wenn Sie verwenden phpMyAdmin, können Sie alternativ die Summe der Tabellengrößen in der Fußzeile Ihrer Datenbankregisterkarte structureanzeigen. Die tatsächliche Datenbankgröße kann geringfügig über dieser Größe liegen, scheint jedoch mit der table_schemaoben genannten Methode übereinzustimmen.
Bildschirmfoto :
Alternativ können Sie direkt in das Datenverzeichnis springen und nach der kombinierten Größe von v3.myd, v3 suchen. myi und v3. frm files (für myisam) oder v3.idb & v3.frm (für innodb).
So erhalten Sie ein Ergebnis in MB:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
So erhalten Sie ein Ergebnis in 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 |
+----------+----------------+
Wenn nicht installiert, kann dies durch Installieren des mysql-utilsPakets installiert werden, das von den meisten Hauptdistributionen gepackt werden sollte.
Melden Sie sich zuerst mit MySQL an
mysql -u username -p
Befehl zum Anzeigen der Größe einer einzelnen Datenbank zusammen mit ihrer Tabelle in 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;
Ändern Sie den Datenbanknamen in Ihre Datenbank
Befehl zum Anzeigen aller Datenbanken mit ihrer Größe in 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;
Gehen Sie in das MySQL-Datenverzeichnis und führen Sie es aus du -h --max-depth=1 | grep databasename