Comenzile MySQL FLUSH

Comenzile MySQL FLUSH
În lumea găzduirii, MySQL rămâne una dintre cele mai importante componente pentru alimentarea site-urilor web dinamice, a magazinelor de comerț electronic, a sistemelor de gestionare a conținutului (CMS) și a platformelor SaaS. Indiferent dacă gestionați un cluster de găzduire partajată, o infrastructură VPS sau servere dedicate pentru clienți enterprise, controlul asupra operațiunilor interne ale MySQL este esențial.
Un instrument adesea ignorat, dar puternic, este comanda FLUSH – o colecție de instrucțiuni SQL administrative care vă permit să reîncărcați privilegiile, să ștergeți jurnalele, să resetați stările și să asigurați consecvența fără a reporni serverul.
Ce este FLUSH în MySQL?
Instrucțiunea FLUSH este utilizată pentru:
Ștergerea memoriei cache interne
Reîncărcarea fișierelor de configurare (cum ar fi tabelele de privilegii)
Resetarea informațiilor de stare
Forțarea MySQL să scrie date tampon pe disc
Numai utilizatorii cu privilegiul RELOAD (sau superior, cum ar fi SUPER) pot executa majoritatea operațiunilor FLUSH.
Comenzi FLUSH uzuale
1. 🔐 FLUSH PRIVILEGES
Reîncarcă privilegiile utilizatorilor din tabelele de acordare din baza de date mysql:
Când să utilizați:
După editarea manuală a mysql.user sau a altor tabele de granturi.
Atunci când modificați accesul utilizatorului prin instrucțiuni UPDATE directe în loc de GRANT.
2. FLUSH TABLES
Închide toate tabelele deschise și le forțează să fie redeschise. Util în cazul întreținerii sistemului de fișiere sau al backup-urilor.
De asemenea, puteți să închideți anumite tabele:
Când să utilizați:
Înainte de a efectua backup-uri cu instrumente externe (de exemplu, mysqldump –single-transaction).
După scrierile pe scară largă care pot supraîncărca memoria cache a tabelelor.
3. FLUSH QUERY CACHE
Elimină toate rezultatele interogării din memoria cache a interogării (dacă este activată):
Notă: Query cache este depreciată și eliminată în MySQL 8.0.
4. FLUSH LOGS
Închide și redeschide toate fișierele jurnal (jurnal general, jurnal erori, jurnal binar, jurnal releu).
Sau aruncă un anumit tip:
FLUSH BINARY LOGS;
FLUSH ERROR LOGS;
FLUSH ENGINE LOGS;
FLUSH SLOW LOGS;Când să utilizați:
După rotația jurnalelor
Când jurnalele sunt mutate sau arhivate
Pentru a reseta jurnalele pentru depanare sau conformitate
5. FLUSH HOSTS
Resetează memoria cache a gazdelor de conexiuni eșuate ale clienților.
Când se utilizează:
Atunci când primiți eroarea:
Host 'xxx' is blocked because of many connection errors
6. FLUSH STATUS
Resetează majoritatea variabilelor de stare la zero (nu afectează contoarele globale precum Uptime).
Când să utilizați:
Înainte de benchmarking sau testarea performanței.
Pentru a obține metrici curate cu SHOW STATUS.
7. FLUSH TABLES WITH READ LOCK
Șterge și blochează toate tabelele, împiedicând scrierea de la alte sesiuni.
Când se utilizează:
Pentru backup-uri instantanee consistente (de exemplu, cu LVM sau instrumente de copiere a fișierelor).
Important: Deblocați întotdeauna manual cu
UNLOCK TABLES;
8. FLUSH DES_KEY_FILE
Reîncarcă fișierele cheie DES utilizate în vechile DES_ENCRYPT()/DES_DECRYPT() (legacy).
9. FLUSH USER_RESOURCES
Resetează contoarele limitelor de resurse per utilizator (cum ar fi MAX_QUERIES_PER_HOUR).
Când să utilizați:
Resetare la mijlocul ciclului pentru utilizatorii cu resurse limitate.
Comenzi depășite/înlăturate
FLUSH QUERY CACHE este eliminat în MySQL 8.0.
FLUSH DES_KEY_FILE este moștenit.
Luați în considerare alternative mai noi în MySQL 8.0, cum ar fi RESET PERSIST.
Permisiuni necesare
Majoritatea operațiunilor FLUSH necesită:
PrivilegiulRELOAD
SUPER sau SYSTEM_VARIABLES_ADMIN (pentru operațiuni sensibile în MySQL 8 )
Exemplu:
Concluzie
Familia de comenzi FLUSH este esențială pentru controlul administrativ în MySQL. Fie că gestionați privilegii, jurnale sau stări ale cache-ului, înțelegerea modului și momentului de utilizare a FLUSH vă ajută să mențineți performanța și fiabilitatea optimă a serverului fără a necesita o repornire. Folosiți-o cu înțelepciune, cu privilegii adecvate, în special în mediile de producție.


