mysql-bin files chiếm nhiều dung lượng trên server

  • Thursday 03/12/2020

Ở bài viết này, P.A Việt Nam sẽ hướng dẫn cách kiểm tra và xử lý tình trạng VPS/Server bị full dung lượng do có rất nhiều file binary logs có dạng mysql-bin.xxx trong thư mục /var/lib/mysql

Kiểm tra:

– Có thể thống kê bằng cách sử dụng lệnh: ls -l hoặc ll trong folder /var/lib/mysql

– Hoặc thống kê thông qua command line của mysql manager

mysql> SHOW BINARY LOGS;
+——————+———–+
| Log_name | File_size |
+——————+———–+
| mysql-bin.000008 | 641222072 |
| mysql-bin.000009 | 324173772 |
| mysql-bin.000010 | 53931666 |
| mysql-bin.000011 | 10360680 |
+——————+———–+

Xử lý:

Trường hợp này tuyệt đối không nên thực hiện xóa trực tiếp các file log dạng mysql-bin.xxx để tránh tình trạng lỗi không đáng có xảy ra, nên thực hiện xóa các file này thông qua command line của mysql manager theo cấu trúc:

PURGE BINARY LOGS TO ‘binlogname’;

Ví dụ:

mysql> PURGE BINARY LOGS TO ‘mysql-bin.000011’;

Khi đó hệ thống sẽ giải phóng xóa các file binary logs trước mysql-bin.000011.

Cấu hình:

Để thiết lập cho hệ thống không phát sinh các file này thì cần bỏ thông số: log-bin=mysql-bin trong file /etc/my.cnf sau đó restart lại dịch vụ mysql.

Hoặc muốn hệ thống tự động rotate và giữ lại các file này trong 3 ngày thì có thể thêm thông số: expire_logs_days=3 trong file /etc/my.cnf sau đó restart lại dịch vụ hoặc sử dụng command line mysql manager: mysql> SET GLOBAL expire_logs_days = 3;