Mysql डेटाबेस का आकार कैसे प्राप्त करें?


542

Mysql डेटाबेस का आकार कैसे प्राप्त करें?
मान लीजिए कि लक्ष्य डेटाबेस को "v3" कहा जाता है।


विशिष्ट तालिका / विशिष्ट डेटाबेस आकार के लिए यहां दी गई स्क्रिप्ट आकार देगी, जानकारी की गणना info_schema.tables
रथिश

जवाबों:


1184

इस क्वेरी को चलाएं और आपको वह मिलेगा जो आप खोज रहे हैं:

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; 

यह क्वेरी mysql मंचों से आती है , जहाँ अधिक व्यापक निर्देश उपलब्ध हैं।


4
डेटाबेस में टेबलों से अधिकांश डेटा डिलीट करने के बाद भी, आकार एक जैसा है
Vidz

2
@Vidz आप InnoDB इंजन का उपयोग कर रहे हैं। यदि आप करते हैं, तो जब तक आप file_per_table का उपयोग नहीं करेंगे और तालिकाओं में परिवर्तन नहीं कर सकते हैं, तब तक आप रिक्त कर सकते हैं।
मांडज़ा

5
कृपया ध्यान रखें कि यह विधि किसी भी डेटाबेस को नहीं लौटाएगी जो पूरी तरह से खाली है, परिणाम में प्रदर्शित होने के लिए कम से कम एक तालिका मौजूद होनी चाहिए।
v010dya

13
किसी एकल डेटाबेस से चयन करने के लिए, इसे FROMऔर GROUPरेखा के बीच में जोड़ें : where table_schema='DATABASE_NAME'- DATABASE_NAMEअपने डेटाबेस से प्रतिस्थापित करें।
केजे मूल्य

2
नोट: MySQL कार्यक्षेत्र एक Syntax error: {column title} (double quoted text) is not valid input here.त्रुटि को थूक देगा । कॉलम शीर्षक को टिक के निशान में लपेटा जाना चाहिए। Ie Database Name
करीमइलाश्मी

75

इसे MySQL कमांड का उपयोग करके निर्धारित किया जा सकता है

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema

परिणाम

Database    Size (MB)
db1         11.75678253
db2         9.53125000
test        50.78547382

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

2
अच्छा लगा। मुझे यह उत्तर पसंद है।
प्रोग्फ़ान

31

वैकल्पिक रूप से, यदि आप उपयोग कर रहे हैं, तो आप phpMyAdminअपने डेटाबेस structureटैब के पाद लेख में तालिका आकार के योग पर एक नज़र डाल सकते हैं । वास्तविक डेटाबेस का आकार इस आकार से थोड़ा अधिक हो सकता है, हालांकि यह table_schemaऊपर उल्लिखित विधि के अनुरूप प्रतीत होता है ।

स्क्रीन-शॉट:

यहाँ छवि विवरण दर्ज करें


26

वैकल्पिक रूप से आप सीधे डेटा निर्देशिका में कूद सकते हैं और v3.myd, v3 के संयुक्त आकार की जांच कर सकते हैं। माई और v3। frm फ़ाइलें (myisam के लिए) या v3.idb और v3.frm (innodb के लिए)।


7
नोट: ibd फाइलें केवल मौजूद हैं अगर innodb_file_per_table का उपयोग कर रहे हैं
Slashterix

2
यह उत्तर भंडारण इंजन के लिए बहुत विशिष्ट है। @ ब्रायन-विलिस द्वारा उत्तर अधिक उपयुक्त है।
मनु मंजुनाथ

15

MB में परिणाम पाने के लिए:

SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";

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";

11
mysqldiskusage  --server=root:MyPassword@localhost  pics

+----------+----------------+
| db_name  |         total  |
+----------+----------------+
| pics     | 1,179,131,029  |
+----------+----------------+

यदि स्थापित नहीं है, तो यह उस mysql-utilsपैकेज को स्थापित करके स्थापित किया जा सकता है जिसे अधिकांश प्रमुख वितरणों द्वारा पैक किया जाना चाहिए।


4

पहले MySQL का उपयोग करके लॉगिन करें

mysql -u username -p

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;

अपने डेटाबेस में डेटाबेस_नाम बदलें

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;

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.