Comment obtenir la taille d'une base de données mysql?
Supposons que la base de données cible s'appelle "v3".
Exécutez cette requête et vous obtiendrez probablement ce que vous cherchez:
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;
Cette requête provient de les forums mysql , où des instructions plus complètes sont disponibles.
Il peut être déterminé en utilisant la commande MySQL suivante
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
Résultat
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
Obtenir le résultat en Go
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema
Si vous utilisez phpMyAdmin
, vous pouvez également consulter la somme des tailles de table dans le pied de page de votre base de données structure
. La taille réelle de la base de données peut légèrement dépasser cette taille, mais elle semble être compatible avec la méthode table_schema
mentionnée ci-dessus.
Capture d'écran:
Vous pouvez également accéder directement au répertoire de données et vérifier la taille combinée de v3.myd, v3. myi et v3. fichiers frm (pour myisam) ou v3.idb & v3.frm (pour innodb).
Pour obtenir un résultat en Mo:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
Pour obtenir un résultat en Go:
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 |
+----------+----------------+
S'il n'est pas installé, cela peut être installé en installant le paquetage mysql-utils
qui devrait être empaqueté par la plupart des distributions majeures.
Allez dans le répertoire de données mysql et lancez du -h --max-depth = 1 | Nom de la base de données grep