Comment obtenir la taille d'une base de données mysql?
Supposons que la base de données cible soit appelée "v3".
Comment obtenir la taille d'une base de données mysql?
Supposons que la base de données cible soit appelée "v3".
Réponses:
Exécutez cette requête et vous obtiendrez probablement ce que vous recherchez:
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 des forums mysql , où des instructions plus complètes sont disponibles.
FROM
et GROUP
: where table_schema='DATABASE_NAME'
- en remplaçant DATABASE_NAME
par votre base de données.
Syntax error: {column title} (double quoted text) is not valid input here.
erreur. Les titres des colonnes doivent être entourés de graduations. C'est à dire Database Name
.
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
Obtenez le résultat en 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
Alternativement, si vous utilisez phpMyAdmin
, vous pouvez consulter la somme des tailles de table dans le pied de page de l' structure
onglet de votre base de données . La taille réelle de la base de données peut être légèrement supérieure à cette taille, mais elle semble cohérente avec la table_schema
méthode mentionnée ci-dessus.
Capture d'écran :
Alternativement, vous pouvez directement sauter dans le 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 mysql-utils
package qui devrait être conditionné par la plupart des distributions principales.
Première connexion à MySQL en utilisant
mysql -u username -p
Commande pour afficher la taille d'une seule base de données avec sa table en Mo.
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;
Changez database_name en votre base de données
Commande pour afficher toutes les bases de données avec sa taille en Mo.
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;
Allez dans le répertoire de données mysql et exécutez du -h --max-depth=1 | grep databasename