MySQL veritabanı boyutu nasıl alınır?
Hedef veritabanının "v3" olarak adlandırıldığını varsayalım.
MySQL veritabanı boyutu nasıl alınır?
Hedef veritabanının "v3" olarak adlandırıldığını varsayalım.
Yanıtlar:
Bu sorguyu çalıştırın ve muhtemelen aradığınızı alacaksınız:
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;
Bu sorgu , daha kapsamlı talimatların bulunduğu mysql forumlarından gelir .
FROM
ve GROUP
satırı arasına ekleyin : where table_schema='DATABASE_NAME'
- DATABASE_NAME
veritabanınızla değiştirme .
Syntax error: {column title} (double quoted text) is not valid input here.
hata verecektir . Sütun başlıkları tik işaretleriyle sarılmalıdır. Yani Database Name
.
Aşağıdaki MySQL komutu kullanılarak belirlenebilir
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
Sonuç
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
GB cinsinden sonuç alın
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema
Alternatif olarak, kullanıyorsanız phpMyAdmin
, veritabanı structure
sekmenizin altbilgisindeki tablo boyutlarının toplamına bakabilirsiniz . Gerçek veritabanı boyutu bu boyutun biraz üzerinde olabilir, ancak table_schema
yukarıda belirtilen yöntemle tutarlı görünmektedir .
Ekran görüntüsü:
Alternatif olarak, doğrudan veri dizinine atlayabilir ve v3.myd, v3'ün birleşik boyutunu kontrol edebilirsiniz. myi ve v3. frm dosyaları (myisam için) veya v3.idb & v3.frm (innodb için).
MB cinsinden sonuç almak için:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
GB cinsinden sonuç almak için:
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 |
+----------+----------------+
Yüklü değilse, mysql-utils
çoğu büyük dağıtım tarafından paketlenmesi gereken paketin kurulumu ile kurulabilir .
MySQL'e ilk giriş
mysql -u username -p
MB olarak tablo ile birlikte tek bir veritabanının boyutunu görüntüleme komutu.
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;
Database_name'i Database'inize değiştirin
MB cinsinden boyutu ile tüm veritabanlarını görüntüleme komutu.
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;
MySQL veri dizinine gidin ve çalıştırın du -h --max-depth=1 | grep databasename