วิธีการรับขนาดของฐานข้อมูล mysql?
สมมติว่าฐานข้อมูลเป้าหมายเรียกว่า "v3"
วิธีการรับขนาดของฐานข้อมูล mysql?
สมมติว่าฐานข้อมูลเป้าหมายเรียกว่า "v3"
คำตอบ:
เรียกใช้แบบสอบถามนี้และคุณอาจได้สิ่งที่คุณต้องการ:
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ซึ่งมีคำแนะนำที่ครอบคลุมกว่านี้
FROM
และGROUP
: where table_schema='DATABASE_NAME'
- แทนที่DATABASE_NAME
ด้วยฐานข้อมูลของคุณ
Syntax error: {column title} (double quoted text) is not valid input here.
ข้อผิดพลาดออกมา ชื่อคอลัมน์ควรอยู่ในเครื่องหมายขีด Database Name
กล่าวคือ
สามารถกำหนดได้โดยใช้คำสั่ง 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
หรือถ้าคุณใช้phpMyAdmin
คุณสามารถดูผลรวมของขนาดตารางในส่วนท้ายของstructure
แท็บฐานข้อมูลของคุณ ขนาดฐานข้อมูลจริงอาจมากกว่าขนาดนี้เล็กน้อย แต่ดูเหมือนว่าจะสอดคล้องกับtable_schema
วิธีการที่กล่าวถึงข้างต้น
ภาพหน้าจอ:
หรือคุณสามารถข้ามไปยังไดเรกทอรีข้อมูลโดยตรงและตรวจสอบขนาดรวมของ v3.myd, v3 myi และ v3 ไฟล์ frm (สำหรับ myisam) หรือ v3.idb & v3.frm (สำหรับ innodb)
ในการรับผลลัพธ์เป็น 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";
mysqldiskusage --server=root:MyPassword@localhost pics
+----------+----------------+
| db_name | total |
+----------+----------------+
| pics | 1,179,131,029 |
+----------+----------------+
หากไม่ได้ติดตั้งสิ่งนี้สามารถติดตั้งได้โดยการติดตั้งmysql-utils
แพคเกจซึ่งควรได้รับการบรรจุโดยการกระจายที่สำคัญที่สุด
เข้าสู่ระบบ MySQL เป็นครั้งแรกโดยใช้
mysql -u username -p
Command to Display ขนาดของฐานข้อมูลเดียวพร้อมกับตารางในหน่วย 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;
เปลี่ยน database_name เป็นฐานข้อมูลของคุณ
คำสั่งเพื่อแสดงฐานข้อมูลทั้งหมดที่มีขนาดเป็น 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;
ไปที่ไดเรกทอรีข้อมูล mysql และเรียกใช้ du -h --max-depth=1 | grep databasename