Estoy intentando recuperar un fallo de MySQL. Tengo datos a partir del lunes y binlogs desde entonces, y quiero aplicar los binlogs ya que la combinación sería un conjunto completo de datos. El problema es que los binlogs se leen como un solo paquete. Algunos de los míos son demasiado grandes, hasta 2,4G, mientras que MySQL solo lo permite max_allowed_packet=1G
(1073741824). ¿Hay alguna forma de fragmentarlos o dividirlos?
Editar: ahora probé el split
comando de Linux que da un error de "número mágico incorrecto" en el segundo archivo y en los siguientes de cada archivo dividido. Después de leer esto, tiene sentido. Ahora intenté usarlo mysqlbinlog --start-position 4 --stop-position 200000003 $1 > $1.binout
para poder usar un bucle con un incremento, pero no termina en un límite:
WARNING: The range of printed events ends with a row event or a table map event that does not have the STMT_END_F flag set. This might be because the last statement was not fully written to the log, or because you are using a --stop-position or --stop-datetime that refers to an event in the middle of a statement. The event(s) from the partial statement have not been written to output.
Cuando incremento el siguiente bucle, ¿hay alguna manera de determinar cuál es la posición inicial real? El ejemplo terminó en 199994536. ¿Hay alguna manera de detectar la última posición del binlog resultante?