¿Cómo puedo obtener el binario de MySQL el registro de las coordenadas de los archivos binarios?
-
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.
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
Nov 30, 2012
: ¿Cómo se puede monitorear si MySQL binlog archivos se corrompe?Oct 20, 2011
: Cómo manejar el Mi bd de SQL maestro a Maestro de replicación cuando había un espacio en disco de interrupción
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.