Krav: Serverens harddisk er fuld, og det er konstateret, at næsten alle skyldes MySQL binlog-belægning. Hvordan rydder man sikkert op og sletter binlog-filer?
Anmeldelse:
Serverens diskplads er fuld, og det viser sig, at MySQL-binloggen er optaget, som vist i figuren nedenfor:
binlog er en binær log, der vedligeholdes af Mysql-serverlaget, som er helt forskellig fra redo/undo-loggen i innodb-motoren. Det bruges hovedsageligt til at registrere SQL-sætninger, der opdaterer eller potentielt opdaterer mysql-data, registrere alle DDL- og DML-sætninger (undtagen dataforespørgselsudsagn) og gemme dem som transaktioner på disk, samt indeholde den tid, der bruges på udførelsen af sætninger.
Log ind på MySQL-databasen og kør følgende kommando for at se den aktuelle liste over binlog-filer:
Ryd binlog-logfiler for at frigøre plads, ryd op i specificerede binlog-filer, og tøm alle binlog-filer med følgende kommandoer:
Selvom dette problem er løst, kan det stadig ske i fremtiden, og vi skal sætte det opexpire_logs_daysfor automatisk at rydde op i historiske binlog-filer og kun gemme filer i en bestemt periode.
Brug mysql --hjælp | grep cnf-kommandoforespørgsel konfigurationsfilen som vist i følgende billede:
Forespørg binlog-relaterede konfigurationer via kommandolinjen:
revidere/etc/my.cnfKonfigurationen er som følger:
Genstart derefter mysqld-tjenesten med følgende kommando:
(Slut)
|