пятница, 27 декабря 2019 г.

Удаление innodb журналов вида mysql-bin.0000nn в mysql

Двоичные журналы при использовании модели innodb используются в СУБД MySQL для передачи на сервер горячей замены (standby server) или же для восстановления базы после сбоя.
Количество и размер этих файлов можно менять в настройках, обычно это /etc/my.cnf, но вот удалять их смело средствами файловой системы не следует, поскольку СУБД о них помнит. Если же в этих файлах отсутствует польза, следует сделать следующее:

mysql> SHOW BINARY LOGS; 
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000003 | 928374712 | 
| mysql-bin.000004 | 247892347 | 
| mysql-bin.000005 |  23457366 | 
| mysql-bin.000006 |  63242480 | 
+------------------+-----------+
 
  Видим, о каких файлах помнит СУБД, удалим, к примеру, все кроме последнего:
 
mysql>PURGE BINARY LOGS TO 'mysql-bin.000005';