ค้นหาเว็บไซต์

วิธีตรวจสอบขนาดฐานข้อมูล MySQL ใน Linux


ในบทความนี้ ฉันจะแสดงวิธีตรวจสอบขนาดของฐานข้อมูลและตาราง MySQL/MariaDB ผ่านทางเชลล์ MySQL คุณจะได้เรียนรู้วิธีกำหนดขนาดที่แท้จริงของไฟล์ฐานข้อมูลบนดิสก์รวมถึงขนาดของข้อมูลที่มีอยู่ในฐานข้อมูล

อ่านเพิ่มเติม: 20 คำสั่ง MySQL (Mysqladmin) สำหรับการดูแลฐานข้อมูลใน Linux

ตามค่าเริ่มต้น MySQL/MariaDB จะจัดเก็บข้อมูลทั้งหมดไว้ในระบบไฟล์ และขนาดของข้อมูลที่มีอยู่ในฐานข้อมูลอาจแตกต่างจากขนาดจริงของข้อมูล Mysql บนดิสก์ที่เราจะได้เห็นในภายหลัง

นอกจากนี้ MySQL ยังใช้ฐานข้อมูลเสมือน information_schema เพื่อจัดเก็บข้อมูลเกี่ยวกับฐานข้อมูลของคุณและการตั้งค่าอื่นๆ คุณสามารถสอบถามเพื่อรวบรวมข้อมูลเกี่ยวกับขนาดของฐานข้อมูลและตารางดังภาพ

mysql -u root -p
MariaDB [(none)]> SELECT table_schema AS "Database Name", 
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)" 
FROM information_schema.TABLES 
GROUP BY table_schema; 

หากต้องการทราบขนาดของฐานข้อมูล MySQL เดียวที่เรียกว่า rcubemail (ซึ่งแสดงขนาดของตารางทั้งหมดในนั้น) ให้ใช้แบบสอบถาม mysql ต่อไปนี้

MariaDB [(none)]> SELECT table_name AS "Table Name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "rcubemail"
ORDER BY (data_length + index_length) DESC;

สุดท้าย หากต้องการทราบขนาดที่แท้จริงของไฟล์ฐานข้อมูล MySQL ทั้งหมดบนดิสก์ (ระบบไฟล์) ให้รันคำสั่ง du ด้านล่าง

du -h /var/lib/mysql

คุณอาจต้องการอ่านบทความที่เกี่ยวข้องกับ MySQL ต่อไปนี้

  1. 4 เครื่องมือ Commandline ที่มีประโยชน์ในการตรวจสอบประสิทธิภาพ MySQL ใน Linux
  2. 12 แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย MySQL/MariaDB สำหรับ Linux

หากมีข้อสงสัยหรือแนวคิดเพิ่มเติมที่คุณต้องการแชร์เกี่ยวกับหัวข้อนี้ ให้ใช้แบบฟอร์มคำติชมด้านล่าง