2011-09-11 48 views
21

Tôi đã thử một số lệnh (FLUSH LOGS, PURGE MASTER) nhưng không xóa các tệp nhật ký (khi được kích hoạt trước đó) hoặc bảng nhật ký (mysql/slow_log.CSV và mysql/general_log.CSV và các đối tác .frm và .CSM của chúng) .Trong MySQL, làm cách nào để xóa/xóa/xóa tất cả nhật ký không cần thiết?

HIỂN THỊ NHẬP LOGARY trả về "Bạn không sử dụng ghi nhật ký nhị phân".

Sửa: Tôi tìm thấy giải pháp đơn giản này để xóa các bản ghi bảng (nhưng chưa được các bản ghi tập tin bằng cách sử dụng lệnh mysql): GỖ

TRUNCATE mysql.general_log; 
TRUNCATE mysql.slow_log; 

Trả lời

24

FLUSH chỉ đóng và mở lại file log. Nếu các tệp nhật ký lớn, nó sẽ không làm giảm chúng. Nếu bạn đang sử dụng Linux, bạn có thể sử dụng mv để đổi tên tệp nhật ký khi đang sử dụng, sau đó sau FLUSH LOGS, bạn biết rằng MySQL đang ghi vào một tệp nhỏ mới và bạn có thể xóa các tệp lớn cũ.

Nhật ký nhị phân khác nhau. Để loại bỏ các binlog cũ, hãy sử dụng PURGE BINARY LOGS. Đảm bảo rằng nô lệ của bạn (nếu có) vẫn không sử dụng nhật ký nhị phân. Đó là, chạy SHOW SLAVE STATUS để xem tệp binlog nào họ đang làm việc và không xóa tệp đó hoặc các tệp sau này.

Cũng nên nhớ rằng binlog hữu ích cho việc khôi phục điểm trong trường hợp bạn cần khôi phục từ bản sao lưu và sau đó áp dụng lại binlog để cập nhật cơ sở dữ liệu. Nếu bạn cần sử dụng binlog theo cách này, đừng dọn dẹp các binlog đã được viết kể từ lần sao lưu cuối cùng của bạn.

+0

Và cho cửa sổ? – pollux1er

+4

@ pollux1er, tôi không làm Windows, xin lỗi. –

+0

Tôi chỉ cần khởi động lại mysql sau lệnh 'mv' và' rm', sử dụng 'sudo service mysql restart' và sau đó để đảm bảo mysql đã hoạt động trở lại bằng cách sử dụng' sudo service mysql status' – dazito

0

Dường như khai thác gỗ nhị phân không được kích hoạt trong máy chủ của bạn .Và tôi đoán bạn muốn xóa các tệp nhật ký cũ đã được sử dụng/được tạo tại thời điểm ghi nhật ký nhị phân được bật. bạn có thể xóa chúng bằng tay bằng cách sử dụng lệnh 'rm' nếu bạn muốn. nếu bạn muốn bật tính năng ghi nhật ký nhị phân, bạn có thể thực hiện tương tự bằng cách cập nhật tệp cấu hình (nhưng nó cần khởi động lại máy chủ nếu nó đang chạy). Bạn có thể tham khảo các liên kết dưới đây. http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#option_mysqld_log-bin http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#sysvar_log_bin

Các vấn đề liên quan