DALL·E 2024 02 10 19.32.46 Imagine a 1024x1024 pixels illustration that represents two servers or databases with one marked as Primario and the other as Secundario . Both ar

Switchover manual en MariaDB

Cuando se trata de bases de datos, la alta disponibilidad es primordial (HA), ya que si el sistema no está disponible o experimenta caídas, puede ocasionar pérdidas significativas de datos e incluso de dinero.

Para lograr esta alta disponibilidad hacemos uso de tecnologías de replicación. En este sentido, MariaDB y MySQL son dos opciones populares en las que se puede confiar.

En este artículo os enseñamos cómo llevar a cabo un switchover manual y cómo minimizar el tiempo de inactividad (downtime) al cambiar de un nodo a otro en un clúster de MariaDB.

Introducción a MariaDB

MariaDB es una bifurcación del conocido sistema de gestión de bases de datos MySQL, y fue creada para continúa el desarrollo del trabajo luego de que Oracle adquiriera MySQL.

MariaDB se ejecuta en muchas distribuciones de sistemas operativos como Windows, Linux, macOS y otras. Se distingue de MySQL en su fuerte enfoque en la opción de código abierto.

Switchover manual

A veces la necesidad de cambiar de un nodo a otro es crucial. Si a tu nodo master le pasa algo, se debe cambiar al siguiente para continuar prestando sus servicios.

Veamos los pasos para cambiar manualmente de un nodo a otro en MariaDB.

1. Identificar el nodo maestro:

Abrimos sesión en cualquiera de las instancias y lanzamos el siguiente comando:

SHOW MASTER STATUS\G

2. Identificar nodos esclavos candidatos:

Con la siguiente consulta el clúster nos mostrará todas las instancias que pueden ser candidatas a volverse el nuevo maestro.

SHOW SLAVE HOSTS;

3. Detener la replicación:

Antes de darle al próximo nodo el rol de maestro, primero se debe detener la replicación en el nodo maestro actual mediante el siguiente comando SQL.

STOP SLAVE;

4. Configurar el slave para para ser el nuevo master:

Ahora sí, dejamos el nodo actual y nos vamos al nodo esclavo que vayamos a escoger. Abrimos sesión y lanzamos el siguiente comando:

CHANGE MASTER TO MASTER_HOST = "nuevo_maestro", MASTER_USER = "usuario", MASTER_PASSWORD = "contraseña";

5. Iniciar la replicación en el nodo nuevo:

Después de configurar la conexión en este nodo, activamos de nuevo la replicación con el siguiente comando SQL.

Esto se lanza en el nuevo nodo esclavo:

START SLAVE;

6. Verificar el estado de la replicación:

Comprobamos si hemos seguido todos los pasos correctamente y el nuevo nodo está actuando como maestro:

SHOW SLAVE STATUS\G

Conclusión

Los clústers de bases de datos son fundamentales para lograr la alta disponibilidad en servidores de aplicaciones empresariales.

Con el uso de la replicación de MariaDB, se puede lograr fácilmente el switch-over de un nodo a un nuevo maestro. Sin embargo, el proceso debe ser una tarea cuidadosa y escalonada para minimizar el tiempo de inactividad.

Únete a la lista de emails para no perderte nada

No tengo ningún producto, publicidad, ni nada que venderte. De hecho, aún no tengo nada que hacer con estos emails. Pero si te interesa estar en contacto o no perderte las próximas actualizaciones en el futuro… Ya sabes 😉

    ¿Quieres trabajar con nosotros?

    Ya sea que necesites mejorar el rendimiento de consultas existentes, planificar y ejecutar migraciones de datos críticas, diseñar bases de datos desde cero o mantener un entorno de base de datos estable, estamos aquí para ayudarte.

    Trabajamos con una amplia variedad de sistemas de gestión de bases de datos (DBMS) y estamos comprometidos en proporcionar soluciones adaptadas a tus necesidades específicas. Puedes consultar nuestra lista completa de servicios aquí.

    Confía en nosotros para optimizar tus bases de datos y liberar tiempo y recursos para que puedas concentrarte en lo que realmente importa: hacer crecer tu negocio.

    ¡Contáctanos hoy mismo y descubre cómo podemos ayudarte a lograr un rendimiento óptimo en tu entorno de bases de datos!


    Comentarios

    Deja una respuesta

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