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.
FROM
und GROUP
hinzu: where table_schema='DATABASE_NAME'
- Ersetzen DATABASE_NAME
durch 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 structure
anzeigen. Die tatsächliche Datenbankgröße kann geringfügig über dieser Größe liegen, scheint jedoch mit der table_schema
oben 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-utils
Pakets 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