Básicamente tenemos una gran base de datos MySQL y estamos buscando hacer una replicación a un esclavo (configuración maestro esclavo). ¿Tienen alguna guía paso a paso sobre cómo hacer esto con el tiempo mínimo de inactividad en la base de datos? Hacer una copia de seguridad de la base de datos y transferir la copia de seguridad al servidor esclavo (incluso a través de una red privada) lleva aproximadamente 40 minutos. Un tiempo de inactividad bastante largo.
fuente
Para iniciar una replicación necesita una copia consistente de su base de datos en el esclavo
¿están respaldadas sus mesas myisam o innodb? para averiguar el problema
y mira la columna 'Motor'
si todas las tablas son innodb, entonces puede hacer una configuración de tiempo de inactividad cero usando mysqldump --single-transaction e importar eso al esclavo
si las tablas son myisam, deberá haber un tiempo de inactividad ya que deberá bloquear las tablas para escribir mientras se copian. mysqlhotcopy es la herramienta para ayudarte con eso.
alternativamente, si está utilizando LVM (administrador de volumen lógico), puede detener la base de datos, tomar una instantánea de LVM en unos segundos e iniciar el db nuevamente. Luego puede hacer una copia consistente de la instantánea.
fuente
Para configurar el esclavo, deberá tomar una instantánea de los datos y registrar la posición del registro binario. Hacer una copia de seguridad de la base de datos no debería causar tiempo de inactividad, aunque sí reducirá el rendimiento, pero de todos modos ya está haciendo una copia de seguridad de la base de datos, ¿verdad? Puede encontrar que la copia de seguridad necesita bloquear algunas tablas y esto puede causar bloqueos en su aplicación, realmente necesita ver cómo se implementa para eso.
¿Puedes tomar una foto del disco? Eso reduciría considerablemente el tiempo de inactividad si puede hacer una copia de seguridad.
fuente