Los logs binarios son ficheros de MySQL que permiten recuperar datos de la base de datos desde el último backup hasta la última modificación o en un periodo de tiempo específico.
Para habilitarlos, añadiremos la siguiente directiva en el fichero /etc/my.cnf:
log-bin=mysql-bin
Al reiniciar la base de datos, veremos que se comienzan a generar estos ficheros:
[root]# ll mysql-bin*
-rw-rw---- 1 mysql mysql 142770 Aug 2 10:00 mysql-bin.000001
-rw-rw---- 1 mysql mysql 50415 Aug 2 10:02 mysql-bin.000002
-rw-rw---- 1 mysql mysql 38 Aug 2 10:00 mysql-bin.index
[root]#
En caso de necesitar restaurar algún dato, podemos utilizar el siguiente comando como ejemplo, adaptándolo a nuestras necesidades:
mysqlbinlog mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 –database=Mi_base_de_datos –start-datetime=”2018-08-02 08:0:00″ –stop-datetime=”2018-08-02 20:00:00″ | mysql -u root -p
Podemos probar primero la instrucción antes de ejecutarla. Por ejemplo:
mysqlbinlog mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 –database=Mi_base_de_datos –start-datetime=”2018-08-02 08:0:00″ –stop-datetime=”2018-08-02 20:00:00″ > /tmp/sql.sql
Limitar el espacio de los logs binarios de MySQL
Si no queremos que los logs binarios de MySQL nos ocupen un espacio ilimitado hasta llenar el filesystem, limitaremos el número de ficheros que queremos guardar como histórico y su tamaño con las siguientes directivas:
expire_logs_days = 14
# 1GB
max_binlog_size = 1073741824
Mi pasión por la tecnología me lleva constantemente a explorar las últimas tendencias y aplicaciones, buscando siempre formas de implementar soluciones innovadoras que mejoren la eficiencia. En puerto53.com comparto contenido valioso para ayudar a otros profesionales y entusiastas de la informática a navegar y dominar el complejo mundo de la tecnología. Mi especialidad en Linux RedHat.
Más sobre mí en el este enlace,
Hola David, Gracias por el aporte, consulta, cuanto espacio físico implica tener esto activo?
Hola Boris, completado el artículo con tu consulta.
Un saludo.