Câu PURGE BINARY LOGS
lệnh xóa tất cả các tệp nhật ký nhị phân được liệt kê trong tệp chỉ mục nhật ký trước tên tệp dấu thời gian hoặc dấu thời gian được chỉ định. Các tệp nhật ký đã xóa cũng được xóa khỏi danh sách được ghi trong tệp chỉ mục, để tệp nhật ký đã cho trở thành đầu tiên trong danh sách.
Tôi hy vọng bạn đã xóa các bản ghi nhị phân mysql-bin.000019
bằng cách sử dụng lệnh
PURGE BINARY LOGS TO 'mysql-bin.000019';
Nếu bạn cần thanh lọc tất cả các bản ghi làm như
PURGE BINARY LOGS TO 'mysql-bin.000025';
Điều này sẽ loại bỏ các bản ghi nhị phân tối đa mysql-bin.000025
.
CẬP NHẬT
Bạn co thể thử
RESET MASTER;
RESET MASTER
Xóa tất cả các tệp nhật ký nhị phân được liệt kê trong tệp chỉ mục, đặt lại tệp chỉ mục nhật ký nhị phân để trống và tạo tệp nhật ký nhị phân mới
Các tác động RESET MASTER
khác nhau từ những tác động của NHẬP NHẬP B BINNG PURGE theo 2 cách chính:
RESET MASTER
xóa tất cả các tệp nhật ký nhị phân được liệt kê trong tệp chỉ mục, chỉ để lại một tệp nhật ký nhị phân trống, duy nhất có hậu tố số là 0,000001, trong khi việc đánh số không được đặt lại bởi PURGE BINARY LOGS.
RESET MASTER
đã không được sử dụng trong khi bất kỳ nô lệ sao chép nào đang chạy. Hành vi RESET MASTER
khi được sử dụng trong khi nô lệ đang chạy không được xác định (và do đó không được hỗ trợ), trong khi PURGE BINARY LOGS
có thể được sử dụng an toàn trong khi nô lệ sao chép đang chạy.
CAVEAT bởi RolandoMySQLDBA
Nếu bạn chạy RESET MASTER
với Slaves được kết nối và chạy, Chủ đề IO của mỗi Slave sẽ ngay lập tức mất vị trí. Sao chép bị hỏng và bạn sẽ phải mất thời gian để lấy lại dữ liệu trên tất cả các đồng bộ hóa nô lệ. Nếu bạn muốn xóa nhật ký nhị phân khỏi Master một cách an toàn mà không phá vỡ tính toàn vẹn của bản sao, đây là những gì bạn làm:
- Chạy
SHOW SLAVE STATUS\G
trên mỗi Slave.
- Hãy lưu ý
Relay_Master_Log_File
. Đây là nhật ký nhị phân có câu lệnh mới nhất được thực hiện thành công trong Slave).
- Từ tất cả các màn hình
SHOW SLAVE STATUS\G
, xác định cái nào Relay_Master_Log_File
là cũ nhất (Ví dụ: 'mysql-bin.00123').
- Bạn có thể chạy
PURGE BINARY LOGS TO 'mysql-bin.00123';
Không ai trong số các nô lệ sẽ mất vị trí của nó.
Hiệu quả tổng thể? Điều này sẽ để lại các bản ghi nhị phân trên Master có các câu lệnh chưa được thực thi trên tất cả các nô lệ.