Zahteve: Trdi disk strežnika je poln in ugotovljeno je, da so skoraj vsi posledica zasedenosti MySQL binloga. Kako varno očistiti in izbrisati datoteke binlogov?
Pregled:
Prostor na strežniškem disku je poln in ugotovljeno je, da je MySQL binlog zaseden, kot je prikazano na spodnji sliki:
binlog je binarni dnevnik, ki ga vzdržuje sloj strežnikov Mysql, ki je popolnoma drugačen od dnevnika redo/undo v pogonu InnoDB. Uporablja se predvsem za beleženje SQL ukazov, ki posodabljajo ali potencialno posodabljajo mysql podatke, beleženje vseh DDL in DML (razen stavkov za poizvedbo podatkov) ter njihovo shranjevanje v obliki transakcij na disku ter zajemanje časa, porabljenega za izvajanje stavkov.
Prijavite se v MySQL bazo podatkov in izvedite naslednji ukaz, da si ogledate trenutni seznam datotek binlog:
Očistite binlog datoteke za sprostitev prostora, očistite določene binlog datoteke in izpraznite vse binlog datoteke z naslednjimi ukazi:
Čeprav je ta problem rešen, se lahko še vedno zgodi v prihodnosti in ga moramo postavitiexpire_logs_daysza samodejno čiščenje zgodovinskih datotek v binlogu, pri čemer hranimo le datoteke določen čas.
Uporabi mysql --help | Ukaz GREP CNF poizveduje konfiguracijsko datoteko, kot je prikazano na naslednji sliki:
Poizvedba po konfiguracijah, povezanih z binlogom, preko ukazne vrstice:
Spremeniti/etc/my.cnfKonfiguracija je naslednja:
Nato ponovno zaženi storitev mysqld z naslednjim ukazom:
(Konec)
|