Vaatimukset: Palvelimen kiintolevy on täynnä, ja lähes kaikki niistä johtuvat MySQL-binlogien täyttymisestä. Kuinka puhdistaa ja poistaa binlogitiedostot turvallisesti?
Arvostelu:
Palvelimen levytila on täynnä, ja MySQL-binlogi on varattu, kuten alla olevassa kuvassa näkyy:
binlog on binäärinen loki, jota ylläpitää Mysql-palvelimen kerros, ja se eroaa täysin innodb-moottorin redo/undo -lokista. Sitä käytetään pääasiassa SQL-lauseiden tallentamiseen, jotka päivittävät tai mahdollisesti päivittävät mysql-dataa, tallentamaan kaikki DDL- ja DML- (paitsi datakyselylauseet) -lauseet ja tallentamaan ne transaktioina levylle, ja sisältää myös lauseiden suorittamiseen kuluvan ajan.
Kirjaudu MySQL-tietokantaan ja suorita seuraava komento nähdäksesi nykyisen binlogitiedostojen listan:
Siivoa binlogilokitiedostot tilan vapauttamiseksi, siisti tietyt binlogitiedostot ja tyhjennä kaikki binlogitiedostot seuraavilla komennoilla:
Vaikka tämä ongelma on ratkaistu, se saattaa silti tapahtua tulevaisuudessa, ja meidän täytyy järjestää seexpire_logs_daysJotta historialliset binlogitiedostot siivotaan automaattisesti, säilyttäen vain tiedostot tietyn ajan.
Käytä mysql:ää --apua | GREP CNF -komentokysely konfiguraatiotiedostosta seuraavan kuvan mukaisesti:
Kysy binlogiin liittyviä asetuksia komentorivin kautta:
tarkistaa/etc/my.cnfKonfiguraatio on seuraava:
Käynnistä sitten mysqld-palvelu uudelleen seuraavalla komennolla:
(Loppu)
|