Sei sulla pagina 1di 3

Configurando el MASTER

Habilite el registro binario si aún no está habilitado. Consulte Activación del registro binario y
formatos de registro binarios para más detalles.

Dale al maestro un server id único. Todos los esclavos también deben recibir un server id. Puede
ser un número del 1 al 2 32 -1 y debe ser exclusivo para cada servidor del grupo replicante.

Especifique un nombre único para sus registros de replicación con --log-nombrebase. Si no se


especifica, se utilizará su nombre de host y habrá problemas si el nombre de host cambia alguna
vez.

Los esclavos necesitarán permiso para conectarse y comenzar a replicar desde un servidor. Por lo
general, esto se hace creando un usuario esclavo dedicado y otorgando a ese usuario permiso solo
para replicar (permiso de ESCLAVA DE REPLICACIÓN).

Ejemplo que permite la replicación para MariaDB

Agregue lo siguiente en su archivo my.cnf y reinicie la base de datos.

[mariadb]

log-bin

server_id = 1

log-basename = master1

La identificación del servidor es un número único para cada servidor MariaDB / MySQL en su red.

Luego ejecute el siguiente SQL con el mysqlcliente de línea de comando:

CREAR USUARIO 'replication_user' @ '%' IDENTIFICADO POR 'bigs3cret' ;

GRANT REPLICATION SLAVE ON * . * TO 'replication_user' @ '%' ;

Ejemplo que permite la replicación para MySQL

Si desea habilitar la replicación de MySQL a MariaDB, puede hacerlo casi de la misma manera que
entre los servidores de MariaDB. La principal diferencia es que MySQL no es compatible log-
basename.

[mysqld]

log-bin

server_id = 1

Configuraciones para verificar

Hay una serie de opciones que pueden afectar o interrumpir la replicación. Verifique la siguiente
configuración para evitar problemas.
skip-networking . Si skip-networking=1, el servidor limitará las conexiones a localhost solamente, y
evitará que todos los esclavos remotos se conecten.

bind-address . De manera similar, si la dirección que el servidor escucha para conexiones TCP / IP
es 127.0.0.1 (localhost), las conexiones remotas de esclavos fallarán.

Configurando el Esclavo

Dale al esclavo un server_id único . Todos los servidores, ya sean maestros o esclavos, reciben un
server_id. Puede ser un número del 1 al 2 32 -1 y debe ser exclusivo para cada servidor del grupo
replicante. El servidor deberá reiniciarse para que un cambio en esta opción surta efecto.

Obteniendo las coordenadas del registro binario del maestro

Ahora necesita evitar cualquier cambio en los datos mientras visualiza la posición de registro
binario. Lo usará para decirle al esclavo exactamente desde qué punto debería comenzar la
replicación.

En el maestro, enjuague y bloquee todas las tablas ejecutando FLUSH TABLES WITH READ LOCK.
Mantenga esta sesión en funcionamiento: salir de ella liberará el bloqueo.

Obtenga la posición actual en el registro binario ejecutando SHOW MASTER STATUS:

MOSTRAR EL ESTADO DEL MAESTRO;

+ -------------------- + ---------- + -------------- + - ---------------- +

| Archivo | Posición | Binlog_Do_DB | Binlog_Ignore_DB |

+ -------------------- + ---------- + -------------- + - ---------------- +

| mariadb-bin.000096 | 568 | | |

+ -------------------- + ---------- + -------------- + - ---------------- +

Registre los detalles de Archivo y Posición. Si el registro binario acaba de habilitarse, estos estarán
en blanco.

Ahora, con el bloqueo todavía en su lugar, copie los datos del maestro al esclavo. Consulte Copia
de seguridad, Restaurar e Importar para obtener detalles sobre cómo hacer esto.

Una vez que los datos han sido copiados, puede liberar el bloqueo en el maestro ejecutando
UNLOCK TABLES.

DESBLOQUEA TABLAS;

Comience el esclavo

Una vez que los datos han sido importados, está listo para comenzar a replicar. Comience
ejecutando CHANGE MASTER TO, asegurándose de que MASTER_LOG_FILE coincida con el archivo
y MASTER_LOG_POS la posición devuelta por SHOW MASTER STATUS. Por ejemplo:
CAMBIAR MAESTRO A

MASTER_HOST = 'master.domain.com',

MASTER_USER = 'replication_user',

MASTER_PASSWORD = 'bigs3cret',

MASTER_PORT = 3306,

MASTER_LOG_FILE = 'mariadb-bin.000096',

MASTER_LOG_POS = 568,

MASTER_CONNECT_RETRY = 10;

Si está iniciando un esclavo contra un maestro nuevo que se configuró para la replicación desde el
principio, entonces no tiene que especificar MASTER_LOG_FILEy MASTER_LOG_POS.

Usar identificación de transacción global (GTID)

MariaDB que comienza con 10.0

MariaDB 10.0 introdujo ID de transacciones globales (GTID) para la replicación. En general, se


recomienda utilizar (GTID) de MariaDB 10.0, ya que esto tiene una serie de beneficios. Todo lo que
se necesita es agregar la MASTER_USE_GTIDopción a la CHANGE MASTERdeclaración, por
ejemplo:

CAMBIAR MAESTRO A MASTER_USE_GTID = current_pos

Consulte Identificación de transacción global para obtener una descripción completa.

Ahora inicia el esclavo con el START SLAVEcomando:

INICIAR ESCLAVO;

Compruebe que la replicación funciona al ejecutar el SHOW SLAVE STATUScomando:

SHOW SLAVE STATUS \ G

Si la replicación funciona correctamente, los valores de Slave_IO_Runningy


Slave_SQL_Runningdeberían ser Yes:

Slave_IO_Running: Sí

Slave_SQL_Running: Sí

Potrebbero piacerti anche