5.1.2 Activación de espejeo en un DBMS

MySQL

Lo primero que debemos hacer es checar si ambos servidores se encuentran en red

Caso Windows

Caso Linux

Cambie el comando ipconfig por ifconfig

Software

Verifque que el MySQL instalado en el maestro y en el esclavo son iguales. En este casp MySQL Server 5.6

Configuración del Maestro

  1. Localizar el archivo My.ini -Windows- (My.cnf -Linux)
  2. Buscar y comentar las siguientes lineas si es que se encuentran:

    #skip-networking

    #bind-address = 127.0.0.1

  3. Agregar después de la línea [mysqld] lo siguiente:

    log-bin =mysql-bin.log

    binlog-do-db=dolar

    server-id=1

    Nota: El server-id en el servidor siempre será 1, y los esclavos serán 2, 3… n según sea el caso en binlog-do-db se pone el nombre de la base de datos que replicara después de signo =

  4. Desde el panel de control entramos en Herramientas administrativas, Servicios y reanudamos MySQL. Este paso se omite en Linux
  5. Ahora en el shell de mysql genere una cuenta para el esclavo con el privilegio REPLICATION SLAVE:

    GRANT REPLICATION SLAVE ON *.* TO 'esclavo1'@'%' IDENTIFIED BY 'bingo';

    FLUSH PRIVILEGES;

    Nota: esclavo1 es el usuario identificado por el passwword bingo.Los posteriores replicadores deberán ser esclavo2, ..., esclavo-n.

  6. Seleccione la base de datos a replicar y realice lo siguiente:

    USE dolar;

    FLUSH TABLES WITH READ LOCK;

    SHOW MASTER STATUS;

    El resultado será algo similar a la figura

    La columna File muestra el nombre del log, mientras que Position muestra el desplazamiento. En este ejemplo, el valor del log binario es BARBANEGRA-bin.000004 y el desplazamiento es 1057. Guarde los valores. Los necesitará más tarde cuando inicialice el servidor. Estos representan las coordenadas de la replicación en que el esclavo debe comenzar a procesar nuevas actualizaciones del maestro.

  7. Salir de MySQL usando el comando exit o quit.
  8. Ahora desde la terminal o en el cmd haremos un Backup de la Base de Datos que se encuentra en el Maestro para tener el mismo esquema y datos en los esclavos:

    mysqldump -u root -p -dolar > dolar.sql

  9. Por últino desbloqueamos la base de datos

    mysql -u root -p

    UNLOCK TABLES;

    quit;

Configuración del esclavo

  1. Crear la base de datos que queremos replicar:

    mysql -u root -p

    CREATE DATABASE dolar;

    quit;

  2. Ejecutar desde la consola o a terminal el siguiente comando para copiar la base de datos del archivo que generamos:

    mysql -u root -p dolar < dolar.sql

  3. Localizar el archivo My.cnf (en caso de windows My.ini) y después del [mysqld] agregamos lo siguiente:

    server-id=2

    replicate-do-db=nombre_base_de_datos

    En nuesto caso

    server-id=2

    replicate-do-db=dolar

  4. Reiniciamos el servicio de MySql y comprobamos el server-id,
     mysql -u root -p
     SHOW VARIABLES LIKE 'server-id'; 
    

  5. Ahora le indicaremos al esclavo la dirección del maestro, el usuario, password y directivas de control (master_log_file y master_log_pos)

    CHANGE MASTER TO master_host = '192.168.1.65', master_user='esclavo1',

    master_password='bingo', master_log_file='barbanegra-bin.000004', master_log_pos=1057;

    Nota: Si olvido las directivas de control. Desde la consola del maestro use la sentencia SHOW MASTER STATUS;

  6. Ahora iniciamos el e8sclavo y comprobamos su estado
    START SLAVE;
    SHOW SLAVE STATUS\G;
    

¡Felicidades! su Replicación esta funcionando!



Anterior
Valid XHTML
home

Siguiente