Replicación de un Sistema de bbdd

En primer lugar, quería daros la bienvenida. Después de decidir-me a dar el paso sobre la publicación del Blog que mejor manera que redactar esta entrada donde hablare un poco sobre la replicación de un sistema de bases de datos.Es curioso poner medios cuando ya te han pasado las cosas, pero en todo nos pasa igual, que hasta que no nos pasa, no le damos la misma importancia.

Que es la replicación?

Es la copia sincronizada entre dos servidores de bases de datos de forma que cualquiera de los dos puede entregar los mismos resultados a sus clientes.  Podemos encontrar diferentes motores de bases de datos, donde los principales son:

MYSQL, SQL SERVER, POSTGRESQL y ORACLE DATABASE

En esta publicación me voy a centrar en MySQL bajo sistemas operativos Linux, aunque en diferentes motores y SO el proceso se parece bastante.

Los MySQL incluye la posibilidad de reproducción con las siguientes características:

  • Funciona con el esquema maestro-esclavo: existe un servidor maestro que lleva el control central y uno o varios servidores esclavos que se mantienen sincronizados con el servidor maestro.
  • La réplica se realiza mediante un registro de los cambios realizados en la base de datos: no se realizan las copias de las bases de datos para mantenerlas sincronizadas, en su lugar se informa de las operaciones realizadas en el servidor maestro (insert, delete , update …) para que las realicen a su vez los servidores esclavos.
    No es posible hacer cambios en los servidores esclavos, son exclusivamente para consultas.
  • Este esquema sencillo permite la creación de réplicas sin más complicaciones obteniendo los siguientes beneficios:
    Se distribuye la carga de trabajo.
  • El sistema es redundante, por lo que en caso de desastre hay menos probabilidades de perder los datos.
  • Es posible realizar los soportes de un esclavo sin interrumpir el trabajo del servidor maestro

 

Preparación Previa

El equipo maestro debe tener acceso por red. Antes de realizar la configuración de los servidores maestro y esclavo es necesario realizar las siguientes tareas:

  • Asegurarse de que en ambos está instalada la misma versión de MySQL.
  • Asegurarse de que ninguno de los servidores no atenderá peticiones durante el proceso de configuración.
  • Asegurarse de que las bases de datos del servidor maestro han sido copiadas manualmente el servidor esclavo, por lo que en ambos se encuentre exactamente la misma información.
  • Asegurarse de que ambos atienden conexiones por TCP / IP. Por seguridad, esta opción está desactivada por omisión. Para activarla hay que comentar la línea skip_networking en el archivo de configuración /etc/my.cnf

 

Configuración del servidor maestro

En primer lugar para realizar la replica necesitaremos un usuario que s’encargara de realitzar todo este proceso.

Crearemos en MySQL el usuario replicador con el siguiente comando:

mysql> grant replication slave -> on *.* -> to replicador@192.168.2.75 identified by ’pololo’;

Donde el usuario es el replicador i la contraseña sera "pololo"

Una vez creado el usuario tenemos que modificar el fichero de mysql. Este fichero tiene que ser modificado en ambos servidores (maestro y esclavo) los quales se asignaran un identificador:

[mysqld]
 log-bin
 server-id = 1


Una vez modificado en las dos maquinas tenemos que reiniciar los servicios de mysql (muy importante para que los cambios surjan efecto)

  /etc/init.d/mysql restart


El último paso que nos queda es obtener la información del fichero binlog del servidor maestro por tal de configurar los parametros al servidor esclavo y se pueda realizar el proceso de replica.

Para ver los ficheros binarios utilizaremos el comando:
  show master status;


Configuración del servidor esclavo

Una vez tenemos los parámetros iremos al mysql del servidor esclavo y realizaremos el siguiente comando:

Replica-10

Finalmente pondremos en marcha el esclavo para obtener la replica realizada:

Replica-8

Funcionamiento

Realizaremos la comprobación de las bases de datos que tenemos en el servidor maestro y esclavo.

Replica13

Si en el servidor maestro realizamos acciones, automaticamente se nos vera reflejado en el servidor esclavo. Haremos el procedimiento de crear una nueva base de datos y ver asin su funcionamiento.


Replica14

 

Cabe recordar que para poder realizar correctamente la conexión entre servidores, es necesario tener el puerto 3306 de mysql abierto.

1 thought on “Replicación de un Sistema de bbdd

  • Casi nunca me encuentro con un blog o una noticia que sera entretenido a la par de educativo y quiero decirles que estoy impresionado con lo
    que me he encontrado en esta pagina, seguir escribiendo así 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  Acepto la política de privacidad

Información sobre protección de datos

  • Responsable: Julian Mariscal
  • Fin del tratamiento: Controlar el spam, gestión de comentarios
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  • Derechos: Acceso, rectificación, portabilidad, olvido.
  • Contacto: rgpd@julianmp.info.
  • Información adicional: Más información en mi política de privacidad.

Chatbot (En pruebas)
Desarrollado por Julian Mariscal