PURGE BINARY LOGS
Oświadczenie usuwa wszystkie binarne pliki dziennika wymienione w pliku indeksu dziennika przed Określona nazwa pliku dziennika lub datownik. Usunięte pliki dziennika są również usuwane z listy zapisanej w pliku indeksu, dzięki czemu dany plik dziennika staje się pierwszym na liście.
Mam nadzieję, że wyczyściłeś dzienniki binarne, mysql-bin.000019
używając polecenia
PURGE BINARY LOGS TO 'mysql-bin.000019';
Jeśli chcesz wyczyścić wszystkie dzienniki, polub to
PURGE BINARY LOGS TO 'mysql-bin.000025';
Spowoduje to usunięcie dzienników binarnych do góry mysql-bin.000025
.
AKTUALIZACJA
Możesz spróbować
RESET MASTER;
RESET MASTER
Usuwa wszystkie pliki dziennika binarnego wymienione w pliku indeksu, resetuje plik indeksu dziennika binarnego do pustego i tworzy nowy plik dziennika binarnego
Efekty RESET MASTER
różnią się od efektów WYPEŁNIANIA DZIENNIKÓW BINARNYCH na 2 kluczowe sposoby:
RESET MASTER
usuwa wszystkie binarne pliki dziennika wymienione w pliku indeksu, pozostawiając tylko jeden pusty, binarny plik dziennika z sufiksem numerycznym .000001, podczas gdy numeracja nie jest resetowana przez PURGE BINARY LOGS.
RESET MASTER
nie był przeznaczony do użycia podczas działania jakichkolwiek urządzeń podrzędnych replikacji. Zachowanie, RESET MASTER
gdy jest używane podczas pracy urządzeń podrzędnych, jest niezdefiniowane (a zatem nieobsługiwane), podczas gdy PURGE BINARY LOGS
może być bezpiecznie używane podczas pracy urządzeń podrzędnych replikacji.
CAVEAT autorstwa RolandoMySQLDBA
Jeśli biegniesz RESET MASTER
z podłączonymi i uruchomionymi Slave, wątek IO każdego Slave natychmiast straci swoje miejsce. Replikacja jest w ten sposób zepsuta i będziesz musiał poświęcić czas na ponowne zsynchronizowanie danych na wszystkich urządzeniach slave. Jeśli chcesz bezpiecznie usunąć dzienniki binarne z serwera głównego bez naruszenia integralności replikacji, wykonaj następujące czynności:
- Uruchom
SHOW SLAVE STATUS\G
na każdym Slave.
- Zwróć uwagę na
Relay_Master_Log_File
. Jest to dziennik binarny, którego najnowsza instrukcja została pomyślnie wykonana w Slave).
- Na wszystkich ekranach
SHOW SLAVE STATUS\G
określ, który Relay_Master_Log_File
jest najstarszy (na przykład „mysql-bin.00123”).
- Możesz uruchomić
PURGE BINARY LOGS TO 'mysql-bin.00123';
Żadna z Niewolników nie straci swojego miejsca.
Ogólny efekt? Spowoduje to pozostawienie dzienników binarnych w Panu, którego instrukcje jeszcze nie zostały wykonane we wszystkich Niewolnikach.