La replicación multifuente permite a un servidor de base de datos recibir actualizaciones de varias bases de datos maestras diferentes. Esto puede ser útil si se está fusionando varias bases de datos, o si se está creando una copia de seguridad de varios servidores en un solo lugar.
Aquí están los pasos para configurar la replicación multifuente en MariaDB:
1) Configurar el primer servidor maestro: – Inicie sesión en el servidor maestro con permisos de superusuario. – Abra la configuración del servidor (el archivo `my.cnf`), y debajo de `[mysqld]` agregue los siguientes ajustes, reemplazando `server-id` y `log-bin` con valores únicos para su servidor:
``` server-id=1 log-bin=mysql-bin ``` – Reinicie el servidor de MariaDB para aplicar estos cambios. – Conceda al usuario reservado para la replicación los permisos necesarios para leer los datos. Ejecute lo siguiente, reemplazando `user` y `password` con los detalles del usuario de su escogencia: ``` GRANT REPLICATION SLAVE ON . TO ‘user’@’%’ IDENTIFIED BY ‘password’; FLUSH PRIVILEGES; ```2) Configurar cada adicional servidor maestro de la misma manera, asegurándose de que cada uno tiene un `server-id` distinto.
3) Configurar el servidor esclavo: – Inicie sesión en el servidor esclavo con permisos de superusuario. – Abra la configuración del servidor (el archivo `my.cnf`), y debajo de `[mysqld]` agregue los siguientes ajustes:
``` server-id=100 log-bin=mysql-bin relay-log=relay-log ``` – Encuentre la posición actual del registro de cada servidor maestro. Hacer esto requiere el bloqueo de lecturas en el servidor maestro, por lo que se debe hacer durante un periodo de inactividad planeado. Ejecute lo siguiente en cada servidor maestro: ``` FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; ``` Responda con los detalles del binlog, que incluyen el binlog file y la posición. – En el servidor esclavo, configure las conexiones a los servidores maestros. Por cada servidor maestro, ejecute lo siguiente, reemplazando los detalles con los del servidor maestro correspondiente: ``` CHANGE MASTER ‘master-name’ TO MASTER_HOST=‘master-ip’, MASTER_USER=‘user’, MASTER_PASSWORD=‘password’, MASTER_LOG_FILE=‘log file name’, MASTER_LOG_POS=log position; ``` Recuerde desbloquear las tablas en el servidor maestro después de obtener los detalles del binlog.4) Iniciar la replicación en el servidor esclavo:
``` START ALL SLAVES; ```5) Comprobar la situación de la replicación:
``` SHOW ALL SLAVES STATUS; ```Asegúrese de reemplazar los valores marcados con ‘<>’ con sus valores correspondientes.
Nota: Estos pasos asumen que ya se tiene una instalación de MariaDB o MySQL en ejecución y que se está familiarizado con las operaciones y términos básicos de la base de datos.