Vor ein paar Tagen stellte ich fest, dass ich ein Blog auf ein günstigeres neues Hosting migrieren musste, aber das begrenzte die Größe der Datenbank. Der erste Schritt bestand darin , die Größe einer MySQL-Datenbank zu überprüfen . Dies kann auf verschiedene Arten geschehen, aber wir werden darüber sprechen, wie dies mit einem Befehl über das Linux-Terminal geschehen kann.
Wenn wir einen MySQL-Manager mit einer grafischen Oberfläche wie phpMyAdmin haben , reicht es aus, auf die vom Manager selbst angezeigten Statistiken zuzugreifen und diese zu konsultieren. Das wirklich Interessante ist, dies von der Shell aus zu tun, wenn wir über SSH-Zugriff auf den Server verfügen.
Überprüfen Sie die Größe einer MySQL-Datenbank vom Linux-Terminal aus.
Ich gehe davon aus, dass wir eine offene Terminal-Sitzung haben, zum Beispiel mit PuTTY . Zunächst müssen wir auf den MySQL-Server zugreifen und uns mit unserem Benutzernamen und Passwort identifizieren . Dazu führen wir folgenden Befehl aus:
mysql -u username -p
Wenn wir einen Hostnamen für den MySQL-Server angeben müssen, lautet der zur Authentifizierung verwendete Befehl beispielsweise:
mysql -h 127.0.0.1 -u username -p
Nachdem wir diesen Befehl ausgeführt haben, werden wir nach dem Passwort gefragt. Wenn alles geklappt hat, werden wir authentifiziert und können SQL-Abfragen ausführen.
Um die Größe aller Datenbanken zu erhalten , müssen wir folgende Abfrage verwenden:
SELECT table_schema "database", sum(data_length + index_length)/1024/1024 "size in MB" FROM information_schema.TABLES GROUP BY table_schema;
Die Ausgabe nach dem Ausführen der vorherigen Abfrage würde ungefähr so ??aussehen:
MariaDB [(none)]> SELECT table_schema "database", sum(data_length + index_length)/1024/1024 "size in MB" FROM information_schema.TABLES GROUP BY table_schema; +--------------------+-------------+ | database | size in MB | +--------------------+-------------+ | information_schema | 0.07812500 | | mysql | 0.62622643 | | performance_schema | 0.00000000 | | TechnoWikis | 55.40495396 | +--------------------+-------------+ 4 rows in set (0.02 sec)
Wir sehen, dass es uns die Größe aller Datenbanken in MB anzeigt .
Wenn wir nur die Größe einer bestimmten Datenbank überprüfen wollten, wäre die Abfrage:
SELECT table_schema "database", sum(data_length + index_length)/1024/1024 "size in MB" FROM information_schema.TABLES WHERE table_schema='nombre_db' GROUP BY table_schema;
Bei der Ausführung der vorherigen SQL-Abfrage muss berücksichtigt werden, dass nombre_db
durch den Namen der Datenbank ersetzt werden muss, von der die Größe nombre_db
soll.
Letzte Überlegungen.
Diese SQL-Abfrage zum Abrufen der Größe einer MySQL-Datenbank funktioniert nur in MySQL 5 oder höher und in allen Versionen von MariaDB . Dies liegt daran, dass in älteren Versionen vor MySQL 5 die Datenbank INFORMATION_SCHEMA
nicht verwendet wurde.