Como activar binlog de mysql/mariadb (log_bin)
Binlog: sistema de mysql para guardar updates, deletes, creates, etc y poder reproducir las queries desde el backup hasta el último momento…. o incluso para una única db, o para un tramo de tiempo concreto, etc
vi /etc/mysql/my.cnf
descomentar el parámetro:
log_bin = /var/log/mysql/mysql-bin
Otros valores a tener en cuenta:
max_binlog_size = 100M
#binlog_do_db = include_database_name
binlog_ignore_db = phpmyadmin
En los logs veremos que se crea el fichero bin y los demás secuencialmente:
ls -latr /var/log/mysql/mysql-bin.*
-rw-rw—- 1 mysql adm 10486 Jul 7 06:25 /var/log/mysql/mysql-bin.000001
-rw-rw—- 1 mysql adm 64 Jul 7 06:25 /var/log/mysql/mysql-bin.index
-rw-rw—- 1 mysql adm 2505782 Jul 7 08:30 /var/log/mysql/mysql-bin.000002
Mysqlbinlog: Comando para extraer los datos.
Ejemplo de salida filtrada para una sola bbdd y para un tramo de tiempo concreto, concatenando múltiples fichero mysql-bin.*
mysqlbinlog mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 –database=db_name –start-datetime=”2016-07-07 00:12:00″ –stop-datetime=”2016-07-07 10:35:00″
La misma salida, si la vemos ok, la cargamos por mysql:
mysqlbinlog mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 –database=db_name –start-datetime=”2016-07-07 00:12:00″ –stop-datetime=”2016-07-07 10:35:00″ | mysql -u root -p
NOTA: POSIBLEMENTE SE TENGA QUE PARAR APACHE PARA ASEGURAR QUE NADIE CAMBIA NADA, SINO PUEDE LLEGAR A HABER DUPLICATE ENTRY