La replicación en MariaDB es una tecnología que permite copiar y mantener los mismos datos en múltiples sistemas de bases de datos ubicados en diferentes ubicaciones. Esto se hace de manera continua y en tiempo real, donde un servidor MariaDB actúa como un “maestro” y uno o más servidores actúan como “esclavos”. Cualquier cambio hecho en el servidor maestro se propaga a los servidores esclavos.
La replicación es beneficiosa por varias razones, incluyendo:
1. Alta disponibilidad: incluso si un servidor falla, los datos aún están disponibles en otros servidores.
2. Distribución de carga: las consultas de lectura pueden distribuirse entre varios servidores para aumentar la velocidad y la eficiencia.
3. Seguridad de los datos: existe una copia en vivo de los datos en caso de cualquier pérdida o corrupción de datos en un servidor.
4. Mejor rendimiento: la replicación permite dividir la carga de trabajo entre diferentes bases de datos.
Cómo configurar la replicación en MariaDB:
1. Configuración del servidor maestro: abre el archivo de configuración de MariaDB (my.cnf o my.ini dependiendo de tu sistema operativo) y agrega/actualiza las siguientes líneas en la sección [mysqld]:
``` server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = your_database_name binlog_format = mixed ```2. Reiniciar el servicio MariaDB.
3. Crear un usuario de replicación en el servidor maestro, que será utilizado por el esclavo para la conexión de replicación.
Ejemplo: ``` GRANT REPLICATION SLAVE ON . TO ‘slave_user’@’%’ IDENTIFIED BY ‘password’; ```4. Configuración del servidor esclavo: abre el archivo de configuración de MariaDB y agrega/actualiza las siguientes líneas en la sección [mysqld]:
``` server-id = 2 relay-log = /var/log/mysql/mysql-relay-bin.log log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = your_database_name replicate-do-db = your_database_name ```5. Reiniciar el servicio MariaDB.
6. Configurar el servidor esclavo para conectar con el maestro usando el siguiente comando:
``` CHANGE MASTER TO MASTER_HOST=‘master_host’,MASTER_USER=‘replication_user’, MASTER_PASSWORD=‘password’, MASTER_LOG_FILE=‘log_file_name’, MASTER_LOG_POS= log_position; ```7. Iniciar la replicación en el esclavo con el siguiente comando:
``` START SLAVE; ```8. Verificar que la replicación está funcionando correctamente usando el siguiente comando:
``` SHOW SLAVE STATUS\G; ```Por favor, reemplaza ‘your_database_name’, ‘slave_user’, ‘password’, ‘master_host’, ‘replication_user’, ‘log_file_name’ y ‘log_position’ con tus valores reales.