Polecenia FLUSH MySQL
Polecenia FLUSH MySQL
W świecie hostingu, MySQL pozostaje jednym z najważniejszych komponentów do zasilania dynamicznych stron internetowych, sklepów e-commerce, systemów zarządzania treścią (CMS) oraz platform SaaS. Niezależnie od tego, czy zarządzasz klastrem hostingu współdzielonego, infrastrukturą VPS, czy serwerami dedykowanymi dla klientów korporacyjnych, kontrola nad wewnętrznymi operacjami MySQL jest niezbędna.
Jednym z często pomijanych, ale potężnych narzędzi jest polecenie FLUSH — zbiór administracyjnych instrukcji SQL, które pozwalają na przeładowanie uprawnień, czyszczenie logów, resetowanie stanów i zapewnienie spójności bez ponownego uruchamiania serwera.
Czym jest FLUSH w MySQL?
Instrukcja FLUSH jest używana do:
Czyszczenia wewnętrznych pamięci podręcznych
Przeładowania plików konfiguracyjnych (jak tabele uprawnień)
Resetowania informacji o stanie
Wymuszenia, aby MySQL zapisał buforowane dane na dysku
Tylko użytkownicy z uprawnieniem RELOAD (lub wyższym, jak SUPER) mogą wykonywać większość operacji FLUSH.
Typowe polecenia FLUSH
1. 🔐 FLUSH PRIVILEGES
Przeładowuje uprawnienia użytkowników z tabel uprawnień w bazie danych mysql:
FLUSH PRIVILEGES;Kiedy używać:
Po ręcznej edycji mysql.user lub innych tabel uprawnień.
Gdy zmieniasz dostęp użytkownika za pomocą bezpośrednich instrukcji UPDATE zamiast GRANT.
2. FLUSH TABLES
Zamyka wszystkie otwarte tabele i wymusza ich ponowne otwarcie. Przydatne w konserwacji systemu plików lub kopiach zapasowych.
FLUSH TABLES;Możesz również wyczyścić konkretne tabele:
FLUSH TABLES table_name [, table_name] ...;Kiedy używać:
Przed wykonaniem kopii zapasowych za pomocą zewnętrznych narzędzi (np. mysqldump –single-transaction).
Po dużych zapisach, które mogą przeciążyć pamięć podręczną tabeli.
3. FLUSH QUERY CACHE
Usuwa wszystkie wyniki zapytań z pamięci podręcznej zapytań (jeśli jest włączona):
FLUSH QUERY CACHE;Uwaga: Pamięć podręczna zapytań jest przestarzała i usunięta w MySQL 8.0.
4. FLUSH LOGS
Zamyka i ponownie otwiera wszystkie pliki dziennika (dziennik ogólny, dziennik błędów, dziennik binarny, dziennik relay).
FLUSH LOGS;Lub wyczyść konkretny typ:
FLUSH BINARY LOGS;FLUSH ERROR LOGS;FLUSH ENGINE LOGS;FLUSH SLOW LOGS;Kiedy używać:
Po rotacji logów
Gdy logi są przenoszone lub archiwizowane
Aby zresetować logi do debugowania lub zgodności
5. FLUSH HOSTS
Resetuje pamięć podręczną hostów nieudanych połączeń klientów.
FLUSH HOSTS;Kiedy używać:
Gdy otrzymujesz błąd:
Host 'xxx' is blocked because of many connection errors
6. FLUSH STATUS
Resetuje większość zmiennych stanu do zera (nie wpływa na globalne liczniki, takie jak Uptime).
FLUSH STATUS;Kiedy używać:
Przed testowaniem wydajności lub benchmarkingiem.
Aby uzyskać czyste metryki z SHOW STATUS.
7. FLUSH TABLES WITH READ LOCK
Wyczyści i zablokuje wszystkie tabele, uniemożliwiając zapisy z innych sesji.
FLUSH TABLES WITH READ LOCK;Kiedy używać:
Do tworzenia spójnych kopii zapasowych (np. z narzędziami LVM lub kopiującymi pliki).
Ważne: Zawsze odblokuj ręcznie za pomocą
UNLOCK TABLES;
8. FLUSH DES_KEY_FILE
Przeładowuje pliki kluczy DES używane w starych DES_ENCRYPT()/DES_DECRYPT() (legacy).
FLUSH DES_KEY_FILE;9. FLUSH USER_RESOURCES
Resetuje limity zasobów dla użytkowników (jak liczniki MAX_QUERIES_PER_HOUR).
FLUSH USER_RESOURCES;Kiedy używać:
Reset w połowie cyklu dla użytkowników z ograniczonymi zasobami.
Przestarzałe/usunięte polecenia
FLUSH QUERY CACHE jest usunięte w MySQL 8.0.
FLUSH DES_KEY_FILE jest przestarzałe.
Rozważ nowsze alternatywy w MySQL 8.0, takie jak RESET PERSIST.
Wymagane uprawnienia
Większość operacji FLUSH wymaga:
RELOAD uprawnienia
SUPER lub SYSTEM_VARIABLES_ADMIN (dla wrażliwych operacji w MySQL 8+)
Przykład:
GRANT RELOAD ON *.* TO 'admin'@'localhost';Podsumowanie
Rodzina poleceń FLUSH jest niezbędna do administracyjnej kontroli w MySQL. Niezależnie od tego, czy zarządzasz uprawnieniami, logami, czy stanami pamięci podręcznej, zrozumienie, jak i kiedy używać FLUSH, pomaga utrzymać optymalną wydajność i niezawodność serwera bez konieczności ponownego uruchamiania. Używaj go mądrze z odpowiednimi uprawnieniami, szczególnie w środowiskach produkcyjnych.


