Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Copia de seguridad:
En condiciones normales, una base de datos replicada de forma correcta es válida como copia de seguridad.
Además se puede realizar copias de seguridad usando un servidor esclavo para así no interferir al servidor
maestro.
Mejorar la escalabilidad:
Podríamos configurar nuestras aplicaciones para balancear las consultas de lectura (SELECT) entre los
servidores replicados.
Podríamos usar herramientas como MySQL Proxy para balancear las consultas de lectura entre los
servidores replicados y enviar las consultas de actualización de datos al maestro.
Alta disponibilidad:
En aplicaciones y entornos en donde sólo se requieren lecturas, podríamos configurar nuestras aplicaciones
para balancear las consultas de lectura (SELECT) entre los servidores replicados de manera que si uno se
cae se continué prestando servicio.
El Log Binario.
El log binario es un archivo binario
gestionado por el servidor de base de datos
en el que se registran todas las sentencias
SQL de modificación de datos o estructura.
Gracias a esto, podemos detener el esclavo (STOP SLAVE), que haya un corte de red, etc.. de manera que cuando se vuelva a iniciar la replicación (START
SLAVE) o se restablezca la comunicación… Pase el tiempo que pase) el esclavo solicitará al maestro todas las sentencias a ejecutar desde su estado actual y las
irá ejecutando secuencialmente de manera que en cuestión de segundos ambos servidores tendrán las bases de datos con el mismo contenido y estructura.
El log binario por defecto está ubicado en la carpeta <MYSQL_HOME>/data y se llama igual que la máquina con el sufijo -bin y un número como extensión.
Ejemplos: mysql-bin.00001, mysql-bin.00002, mysql-bin.00003
Activo Pasivo
MySql soporta el motor de almacenamiento tipo: BLACKHOLE: Procesa todas las consultas pero no almacena los datos en
ningún sitio. Como si fuera un agujero negro
Hernán Henao Hernández
MySql: Replicación de bases de datos
#bind-address = 127.0.0.1
#-----------------------------------------------------------------
#configuración para servidor de replicación
server-id=1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db=nombre_base_de_datos_a_replicar
Crear un usuario con privilegios de replicación, preferiblemente hacerlo desde la consola de mysql (Shell), para ello vamos
Al terminal de putty y se escribe el comando:
mysql -u root -p
respectiva contraseña:
UNLOCK TABLES;
quit;
Hernán Henao Hernández
MySql: Replicación de bases de datos
#bind-address = 127.0.0.1
#-------------------------------------------------------------------
# Configuración como esclavo para replicar bases de datos
server-id=2
replicate-do-db=nombre_base_de_datos_a_replicar
Desde la terminal de mysql (Shell), le indicaremos al esclavo la dirección del maestro, el usuario, password y
directivas de control (master_log_file y master_log_pos)
Realice un cambio en la base de datos (insertar/eliminar registros), del maestro y consulte en el esclavo si el
cambio se refleja de manera automática.
Consideraciones:
• No funciona en maquinas virtuales clonadas (el UUID de MySQL debe ser diferente)
• Realice cambios en el esclavo, y verifique el maestro.
• Realice un cambio de estructura de la base de datos (cambiar el nombre a una tabla), verifique el
cambio en el esclavo.
• Luego haga un cambio de estructura en una tabla, luego verifique el cambio en el esclavo.
• Los errores en el esclavo normalmente son por direcciones ip, o por los cambios en el tamaño del
desplazamiento.
• En caso de corregir algo en el esclavo detener el servicio con stop slave;