Khi quản trị VPS chạy MySQL/MariaDB, đặc biệt với các website WordPress, nhiều người bất ngờ phát hiện thư mục /var/lib/mysql ngày càng phình to, dù đã xoá rất nhiều bài viết hay bảng dữ liệu. Nguyên nhân phổ biến nhất nằm ở một file ít được chú ý: ibdata1.
Bài viết này sẽ giúp bạn hiểu rõ ibdata1 là gì, khi nào cần kiểm tra, dấu hiệu nguy hiểm và cách phòng tránh.
ibdata1 là file tablespace hệ thống của InnoDB (engine mặc định của MySQL/MariaDB). File này dùng để lưu:
📌 Quan trọng:
ibdata1 chỉ tăng kích thước, gần như không bao giờ tự giảm, kể cả khi bạn xoá dữ liệu trong database.
WordPress có đặc thù:
➡️ Khi dữ liệu bị xoá, MySQL chỉ đánh dấu trống bên trong ibdata1, không trả lại dung lượng cho hệ điều hành.
Kết quả là:
Bạn nên kiểm tra ibdata1 trong các trường hợp sau:
Khi df -h cho thấy ổ đĩa gần full nhưng bạn không rõ nguyên nhân, ibdata1 là một trong những thứ cần kiểm tra đầu tiên.
ls -lh /var/lib/mysql/ibdata1
Ví dụ:
Nhưng:
du -sh /var/lib/mysql
vẫn không giảm → ibdata1 rất có thể đã phình
Đặc biệt với:
➡️ Nên kiểm tra định kỳ mỗi 1–2 tháng.
File ibdata1 quá lớn có thể khiến:
| Kích thước ibdata1 | Đánh giá |
|---|---|
| < 200MB | Bình thường |
| 200MB – 1GB | Bắt đầu theo dõi |
| 1 – 2GB | Có dấu hiệu tích tụ |
| > 5GB | Nguy hiểm |
| > 10GB | Nên xử lý |
👉 Ví dụ thực tế:
/var/lib/mysql/ibdata1 = 76MB
→ Hoàn toàn an toàn, chưa cần can thiệp.
❌ TUYỆT ĐỐI KHÔNG
Xoá ibdata1 trực tiếp sẽ khiến:
Muốn giảm kích thước ibdata1 bắt buộc phải:
➡️ Chỉ nên làm khi thật sự cần thiết.
wp_actionscheduler_logsibdata1 là thành phần bắt buộc và quan trọng của InnoDB👉 Nếu ibdata1 của bạn đang < 200MB: cứ yên tâm chạy.