¿Cómo puedo obtener el binario de MySQL el registro de las coordenadas de los archivos binarios?

dba.stackexchange https://dba.stackexchange.com/questions/104927

  •  26-09-2020
  •  | 
  •  

Pregunta

Estoy tratando de configurar la replicación de un grande (120 GB) de base de datos MySQL y me equivocaba.

He apagado el maestro, copiar los archivos de datos, y se reinicia el maestro.Ahora me he puesto el esclavo y comenzamos de ella, y me doy cuenta de que me olvidé de obtener la MASTER_LOG_FILE y MASTER_LOG_POS los valores necesarios para configurar la replicación.

Todavía tengo una virgen copia de los archivos de datos.Es allí cualquier manera de determinar MASTER_LOG_FILE y MASTER_LOG_POS a partir de esos archivos?

Relacionadas con la pregunta:

  • ¿qué sucede si se establece la MASTER_LOG_POS a un punto anterior en el tiempo?
  • Estoy en lo cierto al suponer duplicar las consultas serán ejecutadas, posiblemente resultando en un duplicado de los datos?

Editar

He estado investigando el mysqlbinlog comando y descubrió lo que parece ser la correcta información mediante la ejecución de:

mysqlbinlog --to-last-log --start-datetime='2015-06-21 20:05:00'
    mysql-bin.000006 | grep end_log_pos

La salida se ve algo como esto:

... a whole bunch more lines ...

#150621 20:10:21 server id 1  end_log_pos 720159843     Query   thread_id=901489    exec_time=0 error_code=0
#150621 20:10:21 server id 1  end_log_pos 720161877     Query   thread_id=901489    exec_time=0 error_code=0
#150621 20:10:21 server id 1  end_log_pos 720162762     Query   thread_id=901489    exec_time=0 error_code=0
#150621 20:10:22 server id 1  end_log_pos 720164796     Query   thread_id=901489    exec_time=0 error_code=0
#150621 20:10:22 server id 1  end_log_pos 720164815     Stop

Supongo que debo usar uno de esos dos últimas posiciones, pero no estoy seguro de que.

¿Fue útil?

Solución

Con suerte, usted no iniciar mysqld en el esclavo todavía.

Se da la circunstancia de que un binlog posición es también la binlog tamaño al final de cada binlog evento.En su caso, puede utilizar el último binlog el esclavo ve, que puedo asumir que es mysql-bin.000006.Obtener el tamaño de archivo y utilizarlo como la posición.

Por lo tanto, en el Esclavo debe ejecutar

STOP SLAVE;
CHANGE MASTER TO
    MASTER_HOST='...',
    MASTER_PORT=3306,
    MASTER_USER='repluser',
    MASTER_PASSWORD='replpassword',
    MASTER_LOG_FILE='mysql-bin.00006',
    MASTER_LOG_POS=720164815;
START SLAVE;

y que debe hacer !!!

He hablado de la binlog posición de ser el tamaño del archivo antes de

También pidió

¿qué sucede si se establece la MASTER_LOG_POS a un punto anterior en el tiempo?

Sí, va a reproducir esos binlog evento y causar problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top