मेरे पास RDS का उपयोग करके अमेज़न AWS पर होस्ट की गई मेरी वेबसाइट के लिए MySQL डेटाबेस है। इसमें 5GB स्टोरेज उपलब्ध है। मैं कैसे बता सकता हूं कि वास्तव में इसमें कितना बड़ा डेटा है (और इसलिए मेरे पास कितना 5GB कोटा बचा है)?
मेरे पास RDS का उपयोग करके अमेज़न AWS पर होस्ट की गई मेरी वेबसाइट के लिए MySQL डेटाबेस है। इसमें 5GB स्टोरेज उपलब्ध है। मैं कैसे बता सकता हूं कि वास्तव में इसमें कितना बड़ा डेटा है (और इसलिए मेरे पास कितना 5GB कोटा बचा है)?
जवाबों:
यहां INFORMATION_SCHEMA के खिलाफ और अधिक संगठित प्रश्न हैं
SELECT
IFNULL(B.engine, 'Total') "Storage Engine",
CONCAT(LPAD(REPLACE(FORMAT(B.DSize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') "Data Size",
CONCAT(LPAD(REPLACE( FORMAT(B.ISize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') "Index Size",
CONCAT(LPAD(REPLACE( FORMAT(B.TSize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') "Table Size"
FROM
(SELECT
engine,
SUM(data_length) DSize,
SUM(index_length) ISize,
SUM(data_length + index_length) TSize
FROM
information_schema.tables
WHERE
table_schema NOT IN ('mysql', 'information_schema', 'performance_schema')
AND engine IS NOT NULL
GROUP BY engine WITH ROLLUP
) B,
(SELECT 3 pw) A
ORDER BY TSize;
SELECT
dbname,
Concat(Lpad(Format(sdsize / Power(1024, pw), 3), 17, ' '), ' ', Substr(' KMGTP', pw + 1, 1), 'B') "Data Size",
Concat(Lpad(Format(sxsize / Power(1024, pw), 3), 17, ' '), ' ', Substr(' KMGTP', pw + 1, 1), 'B') "Index Size",
Concat(Lpad(Format(stsize / Power(1024, pw), 3), 17, ' '), ' ', Substr(' KMGTP', pw + 1, 1), 'B') "Total Size"
FROM
(SELECT
Ifnull(db, 'All Databases') DBName,
Sum(dsize) SDSize,
Sum(xsize) SXSize,
Sum(tsize) STSize
FROM (SELECT
table_schema DB,
data_length DSize,
index_length XSize,
data_length + index_length TSize
FROM information_schema.tables
WHERE table_schema NOT IN ('mysql','information_schema','performance_schema')
) AAA
GROUP BY db WITH rollup
) AA,
(SELECT 3 pw) BB
ORDER BY ( sdsize + sxsize );
SELECT
Statistic,
DataSize "Data Size",
IndexSize "Index Size",
TableSize "Table Size"
FROM
(SELECT
IF(ISNULL(table_schema) = 1, 10, 0) schema_score,
IF(ISNULL(engine) = 1, 10, 0) engine_score,
IF(ISNULL(table_schema) = 1, 'ZZZZZZZZZZZZZZZZ', table_schema) schemaname,
IF(ISNULL(B.table_schema) + ISNULL(B.engine) = 2, "Storage for All Databases", IF(ISNULL(B.table_schema) + ISNULL(B.engine) = 1, CONCAT("Storage for ", B.table_schema), CONCAT(B.engine, " Tables for ", B.table_schema))) Statistic,
CONCAT(LPAD(REPLACE(FORMAT(B.DSize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') DataSize,
CONCAT(LPAD(REPLACE( FORMAT(B.ISize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') IndexSize,
CONCAT(LPAD(REPLACE(FORMAT(B.TSize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') TableSize
FROM
(SELECT
table_schema,
engine,
SUM(data_length) DSize,
SUM(index_length) ISize,
SUM(data_length + index_length) TSize
FROM
information_schema.tables
WHERE
table_schema NOT IN ('mysql', 'information_schema', 'performance_schema')
AND engine IS NOT NULL
GROUP BY
table_schema, engine WITH ROLLUP
) B,
(SELECT 3 pw) A
) AA
ORDER BY schemaname, schema_score, engine_score;
तीन (3) प्रश्नों में से प्रत्येक में, आप देखेंगे (SELECT 3 pw)
। pw
1024 के पावर के लिए खड़ा विशिष्ट इकाइयों में परिणाम प्रदर्शित करने के:
(SELECT 0 pw)
बाइट्स में रिपोर्ट प्रदर्शित करेगा(SELECT 1 pw)
KiloBytes में रिपोर्ट प्रदर्शित करेगा(SELECT 2 pw)
MegaBytes में रिपोर्ट प्रदर्शित करेगा(SELECT 3 pw)
GigaBytes में रिपोर्ट प्रदर्शित करेगा(SELECT 4 pw)
TeraBytes में रिपोर्ट प्रदर्शित करेगा(SELECT 5 pw)
पेटाबीट्स में रिपोर्ट प्रदर्शित करेगा (यदि आप इसे चलाते हैं तो कृपया मुझसे संपर्क करें)यहाँ एक रिपोर्ट क्वेरी है जिसमें थोड़ा कम फ़ॉर्मेटिंग है KB
:
SELECT
IFNULL(db, 'Total') "Database",
datsum / power(1024, pw) "Data Size",
ndxsum / power(1024, pw) "Index Size",
totsum / power(1024, pw) "Total"
FROM
(
SELECT
db,
SUM(dat) datsum,
SUM(ndx) ndxsum,
SUM(dat + ndx) totsum
FROM
(
SELECT table_schema db, data_length dat, index_length ndx
FROM information_schema.tables
WHERE engine IS NOT NULL AND table_schema NOT IN ('information_schema', 'mysql')
) AA
GROUP BY db WITH ROLLUP
) A,
(SELECT 1 pw) B;
अंत में मुझे कुछ क्लिकों के साथ अमेज़न से सीधे यह जानकारी प्राप्त करने का आसान तरीका मिल गया।
show table status from mydatabsename;
जहाँ mydatabasename आपका डेटाबेस नाम है।
यह आपको मीट्रिक Data_length और Index_length प्रति तालिका और अन्य मीट्रिक दिखाता है। आपको इन कॉलमों को पूरा करना होगा और याद रखना होगा कि वे बाइट्स में हैं इसलिए आपको केबी प्राप्त करने के लिए 1024 से विभाजित करना होगा और फिर 1024 के लिए megs प्राप्त करना होगा और फिर 1024 के द्वारा फिर से gigs प्राप्त करना होगा। यह आपके सूचकांक / डेटाबेस आवंटन के भीतर मुक्त स्थान को भी दिखाता है।
यदि आप अन्वेषण करना चाहते हैं तो आप अधिक दानेदार और राशि प्राप्त कर सकते हैं: http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html
SELECT SUM(DATA_FREE) FROM INFORMATION_SCHEMA.PARTITIONS;
सूचकांक / डेटाबेस आवंटन में शेष स्थान दिखाता है ...
SELECT SUM(Data_length) FROM INFORMATION_SCHEMA.PARTITIONS;
SELECT SUM(Index_length) FROM INFORMATION_SCHEMA.PARTITIONS;
... उपयोग किए गए डेटा और सूचकांक आकार दिखाता है (आपको उन्हें कुल आवंटन के लिए जोड़ना होगा)
यदि आप चीजों को थोड़ा और अलग करना चाहते हैं ...
select sum(Data_length) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema";
select sum(Index_length) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema";
select sum(DATA_FREE) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema";
select sum(Data_length) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema" and TABLE_NAME = "aspecifictable";
select sum(Index_length) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema" and TABLE_NAME = "aspecifictable";
निश्चित रूप से आप MySQL वर्कबेंच का उपयोग कर सकते हैं जैसे मैं यहाँ पाया जाता है: http://dev.mysql.com/downloads/tools/workbench/ लेकिन यह मानता है कि आपके डेटाबेस सर्वर में पोर्ट एक्सेस है। फिर भी, आप डाउनलोड के लायक बहुत ऑफ़लाइन भी कर सकते हैं। कृपया ध्यान दें कि कार्यक्षेत्र का योग नहीं है () आवंटन जो मेरे लिए कोई मतलब नहीं है। लेकिन फिर, मेरे पास नवीनतम संस्करण नहीं है।
2019 : MySQL और MariaDB के लिए कृपया इस AWS प्रदान लिंक का संदर्भ लें: https://aws.amazon.com/premiumsupport/knowledge-center/view-storage-rds-mysql-mariadb/