U heeft 'FLUSH'-rechten nodig in MySQL wanneer u instructies moet uitvoeren die de globale status van de server beïnvloeden of vereisen dat onmiddellijke wijzigingen zichtbaar zijn. Deze verklaringen omvatten doorgaans:
* `SPOEL PRIVILEGES`: Dit is de meest voorkomende gebruikssituatie. Na het verlenen of intrekken van gebruikersrechten (met behulp van `GRANT` of `REVOKE`), heeft u `FLUSH PRIVILEGES` nodig om de toekenningstabellen opnieuw te laden en de wijzigingen effectief te maken. Zonder dit zullen er pas nieuwe rechten worden toegepast als de MySQL-server opnieuw is opgestart.
* `FLUSH TAFELS`: Met deze opdracht worden alle tabellen in de database (of een specifieke tabel) leeggemaakt. Het forceert het schrijven van alle gebufferde gegevens naar schijf. Dit is handig om de consistentie van gegevens te garanderen, vooral vóór back-ups of na uitgebreide gegevenswijzigingen. Hoewel het minder cruciaal is voor InnoDB (dat transactieregistratie gebruikt voor duurzaamheid), is het van groter belang voor MyISAM.
* `FLUSH HOSTS`: Met deze opdracht wordt de hostcache leeggemaakt. Dit is relevant als u hostgebaseerde authenticatie-instellingen heeft gewijzigd en de wijzigingen onmiddellijk van kracht moeten worden.
* `FLUSH LOGS` (voor binaire logs): Met deze opdracht wordt het binaire logboek naar schijf gewist. Dit is belangrijk voor replicatie-instellingen om ervoor te zorgen dat alle wijzigingen blijvend worden vastgelegd en naar slave-servers worden gerepliceerd.
* Andere `FLUSH`-opdrachten: Er zijn andere `FLUSH`-varianten (bijvoorbeeld `FLUSH QUERY CACHE`, `FLUSH STATUS`, enz.), die elk een specifiek aspect van de server beïnvloeden. Deze zouden `FLUSH`-privileges vereisen als u ze moet uitvoeren.
Kortom, 'FLUSH'-privileges zijn vereist wanneer u de MySQL-server moet dwingen om *onmiddellijk* wijzigingen in de interne status of datastructuren toe te passen, in plaats van te wachten op een herstart van de server. Meestal zijn dit administratieve taken. Gewone gebruikers hebben deze rechten zelden nodig. |