Que es Replica
(replication) de una base de datos .
Es el proceso de copiar y mantener objetos de las base de datos, como por ejemplo relaciones, en múltiples bases de datos que forman un sistema de bases de datos distribuido.
Beneficios de
la réplica de Datos en un DBMS
·
Disponibilidad
·
Fiabilidad
·
Rendimiento
·
Reducción de la carga
·
Procesamiento desconectado
·
Soporta muchos usuarios
·
Soporta aplicaciones avanzadas
La replicación es útil
para:
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 continue prestando
servicio.
Ejemplo
de una replicación de base de datos ( puede ser video o descripción)
Requerimos de 2 hosts con cualquier distribución de
linux instalado.
Estos 2 hosts tienen 2 roles.
- Maestro
- Esclavo
1.-Modificar el archivo /etc/my.cnf agregando las siguientes líneas dentro del apartado [mysqld]
log-bin=mysql-bin
server-id=1
sync_binlog=1
El
primer parámetro indica el nombre el archivo a utilizar para el log donde
almacena todas las operaciones sobre la base de datos en cuestión.
El
segundo parámetro indica el identificador único de los motores de bases de
datos a configurar.
El tercer parámetro es para garantizar la consistencia en la replicación usando InnoDB que es el caso de la base de datos de prueba.
2.-Reiniciar el servicio de MySQL
3.-Crear un usuario en el servidor
maestro para uso exclusivo de la replicación, esto con motivos de seguridad,
estableciendo el permiso de REPLICATION SLAVE
CREATE USER ‘user’@ ‘host_esclavo’ IDENTIFIED BY ‘password’ ;
CREATE USER ‘user’@ ‘host_esclavo’ IDENTIFIED BY ‘password’ ;
GRANT REPLICATION SLAVE ON *.* TO
‘replicadb’@’host_esclavo’ IDENTIFIED BY ‘password’;
PASOS PARA CONFIGURAR EL SERVIDOR ESCLAVO:
1.-Modificar el
archivo /etc/my.cnf agregando las siguientes líneas dentro del apartado [mysqld]
server-id=2
log-bin = /var/log/mysql/bin.log
log-bin-index = /var/log/mysql/log-bin.index
log-error = /var/log/mysql/error.log
relay-log = /var/log/mysql/relay.log
relay-log-info-file = /var/log/mysql/relay-log.info
relay-log-index = /var/log/mysql/relay-log.index
2.-Crear
directorio /var/log/mysql
mkdir /var/log/mysql
chown mysql.mysql mysql
3.-Reiniciar el servicio
de MySQL
4.-Ejecutar los
comandos siguientes en la consola de MySQL del servidor esclavo.
SHOW MASTER STATUS;CHANGE MASTER TO MASTER_HOST=’host_maestro’;
CHANGE MASTER TO MASTER_USER=’user’;
CHANGE MASTER TO MASTER_PASSWORD=’password’; CHANGE MASTER TO MASTER_PORT=3306;
5.-En la consola de MySQL ejecutar el siguiente comando:
En este momento ya se encuentran sincronizando los motores de bases de datos
REFERENCIAS:http://www.slideshare.net/luisfe/replicacin-base-de-datos-488210
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=mysql_replicacion
http://cimatzacatecas.blogspot.mx/2012/03/replicacion-en-bases-de-datos-mysql.html
http://systemadmin.es/2010/03/como-montar-replicacion-en-master-slave-con-mysql
No hay comentarios:
Publicar un comentario