Reikalavimai: Serverio kietasis diskas yra pilnas, ir nustatyta, kad beveik visus juos sukelia MySQL binlog užimtumas. Kaip saugiai išvalyti ir ištrinti binlog failus?
Peržiūra:
Serverio disko vieta yra pilna ir nustatyta, kad MySQL binlog yra užimtas, kaip parodyta paveikslėlyje žemiau:
binlog yra dvejetainis žurnalas, kurį prižiūri Mysql sever sluoksnis, kuris visiškai skiriasi nuo perdarymo/anuliavimo žurnalo innodb variklyje. Jis daugiausia naudojamas įrašyti SQL teiginius, kurie atnaujina ar potencialiai atnaujina mysql duomenis, įrašo visus DDL ir DML (išskyrus duomenų užklausos sakinius) teiginius ir išsaugo juos operacijų pavidalu diske, taip pat turi laiką, sugaištą vykdant pareiškimus.
Prisijunkite prie MySQL duomenų bazės ir paleiskite šią komandą, kad pamatytumėte dabartinį binlog failų sąrašą:
Išvalykite binlog žurnalo failus, kad atlaisvintumėte vietos, išvalykite nurodytus binlog failus ir ištuštinkite visus binlog failus, naudodami šias komandas:
Nors ši problema išspręsta, ji vis tiek gali atsitikti ateityje, ir mes turime ją nustatytiexpire_logs_daysautomatiškai išvalyti istorinius binlog failus, išlaikant tik failus tam tikrą laiką.
Naudokite mysql --help | grep cnf komandos užklausa konfigūracijos failas, kaip parodyta šiame paveikslėlyje:
Užklauskite su binlog susijusias konfigūracijas naudodami komandinę eilutę:
Peržiūrėti/etc/my.cnfKonfigūracija yra tokia:
Tada iš naujo paleiskite mysqld paslaugą naudodami šią komandą:
(Pabaiga)
|