1️⃣ Kiểm tra tổng dung lượng MySQL bằng filesystem (chuẩn nhất)

MySQL lưu dữ liệu trong thư mục datadir (thường là /var/lib/mysql).

du -sh /var/lib/mysql

📌 Kết quả ví dụ:

8.6G    /var/lib/mysql

→ Đây là tổng dung lượng MySQL đang chiếm trên VPS (bao gồm database + index + ibdata).


2️⃣ Kiểm tra từng database chiếm bao nhiêu (bên trong MySQL)

Đăng nhập MySQL:

mysql -u root -p

Chạy câu lệnh:

SELECT 
  table_schema AS database_name,
  ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS size_mb
FROM information_schema.tables
GROUP BY table_schema
ORDER BY size_mb DESC;

📌 Bạn sẽ thấy:

database_name     size_mb
-------------------------
wordpress         3520.45
news_site         2140.32
mysql              45.20

→ Biết database nào đang phình to.


3️⃣ Kiểm tra 1 database cụ thể

SELECT 
  table_name,
  ROUND((data_length + index_length) / 1024 / 1024, 2) AS size_mb
FROM information_schema.tables
WHERE table_schema = 'ten_database'
ORDER BY size_mb DESC;

4️⃣ Kiểm tra thư mục datadir chính xác (tránh sai đường dẫn)

mysql -u root -p -e "SHOW VARIABLES LIKE 'datadir';"

Ví dụ:

/var/lib/mysql/

Nếu khác → dùng đường dẫn đó để du -sh.


5️⃣ Kiểm tra ibdata1 (hay phình to trên WordPress)

ls -lh /var/lib/mysql/ibdata1

Nếu ibdata1 rất lớn → do:

  • Dùng InnoDB
  • Xoá bảng nhưng không reclaim disk
  • WP cache, transient, log table

6️⃣ Kiểm tra database + log MySQL chiếm bao nhiêu tổng cộng

du -sh /var/lib/mysql /var/log/mysql*