SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
MySQL Replication




Miguel Ángel Nieto <miguelangel@irontec.com>
 Irontec – Internet y Sistemas sobre GNU/Linux
Irontec – MySQL Replication

                                             Introducción

●   Un solo servidor de MySQL se convierte en el SPOF de
    nuestra infraestructura.
●   Si no hay datos, no hay servicio.
●
    apt­get install mysql es solo el primer paso, luego
    queda mucho por hacer.
●   En la era 2.0 todo está en bases de datos, su
    optimización es imprescindible.
●   MySQL nos ofrece muchas posibilidades.




                                                               2
Irontec – MySQL Replication

                                            Introducción




●   ¿Cómo evitamos un SPOF? Añadiendo más máquinas.
●   Pero las máquinas deben ser iguales en cuanto a la
    parte lógica, los datos deben estar replicados y
    mantenerse sincronizados.
●   La replicación nos ayuda a solventar en parte este
    problema.


                                                              3
Irontec – MySQL Replication

                                                   Introducción

●   ¿Que nos ofrece la replicación?

      –   Seguridad. Los datos están replicados en distintas
            máquinas físicas, por lo que tenemos un live backup.
      –   Balanceo de carga. Podemos distribuir la carga entre
            distintas máquinas.
      –   Alta disponibilidad. Al tener datos en varias máquinas,
            si una se cae otra puede tomar el control.
      –   Quebraderos de cabeza. La informática es la ciencia
            menos exacta que existe.




                                                                     4
Irontec – MySQL Replication

                                                         Seguridad

●   Una copia de la base de datos se puede hacer de varias
    formas:
      –   Mysqldump
      –   Copiando las tablas del disco en caliente (parando antes la
            BBDD).
      –   Replicación
      –   etc...
●   La principal diferencia es que la replicación nos ofrece
    un backup siempre actualizado. Las demás será de la
    fecha de su programación.
●   Utilizad siempre dos métodos como mínimo.
    Nunca se debe dejar la replicación como único sistema
    de backup.
                                                                       5
Irontec – MySQL Replication

                            Arquitecturas de replicación

●   Tenemos varias formas de montar una arquitectura de
    replicación.
      –   Maestro-Maestro
      –   Maestro-Esclavo
      –   Circular
●   Según lo que se necesite, se monta una u otra.




                                                                6
Irontec – MySQL Replication

                                             Limitaciones




●   Un esclavo solo puede tener un maestro. Por el
    contrario, un maestro múltiples esclavos.
●   No es recomendable montar una replicación por WAN.
    La replicación es asíncrona y sensible a latencias.
●   En un servidor esclavo esta prohibido escribir datos,
    solo se usarán selects.
                                                               7
Irontec – MySQL Replication

                                           Maestro-Esclavo

●   Un maestro, múltiples esclavos.
●   En el maestro se escribe, en el esclavo se lee.




                                                                  8
Irontec – MySQL Replication

                                                 Maestro-Esclavo

●    Primero debemos configurar el maestro.
     Imprescindible:
        –   Habilitar los logs binarios.
        –   Crear un usuario que permita conectarse a los esclavos.
        –   Habilitar sync_binlog.
        –   Elegir un server-id.

    log­bin=mysql­bin
    server­id=1
    sync_binlog=1




                                                                         9
Irontec – MySQL Replication

                                      Maestro-Esclavo

●   Dar permisos de conexión a los eslavos y dumpeamos
    la BD:

    mysqldump BD ­­master­data=2 > dump_file;

 mysql> grant replication slave on *.* to 
'replication'@10.10.10.1 identified by 'slave';

 mysql> grant replication slave on *.* to 
'replication'@10.10.10.2 identified by 'slave';




                                                              10
Irontec – MySQL Replication

                                            Maestro-Esclavo

●   Configuramos el eslavo:
      –   Seleccionamos un ID diferente para cada uno.
      –   Importamos la BD.
      –   Nos configuramos como esclavo de un maestro.
$mysql ­u root ­p < dump

server­id=101

mysql> CHANGE MASTER TO MASTER_HOST = ‘10.10.10.100’, 
MASTER_USER = ‘replication’, MASTER_PASSWORD = ‘slave’, 
MASTER_LOG_FILE = ‘master_log_file’, MASTER_LOG_POS = 
master_log_pos;




                                                                    11
Irontec – MySQL Replication

                                      Maestro-Esclavo

●   Master_log_pos y Master_log_file indican al esclavo
    desde que posición del log binario deben leer, de
    forma que no se repliquen datos que ya tenemos.
●   Podemos sacarlo con un dump como ya hemos visto o
    con el comando show master status;
●   El log binario debe estár habilitado :)




                                                              12
Irontec – MySQL Replication

                                           Maestro-Esclavo

●   No se debe dejar al servidor la elección de cuando
    escribir los datos al disco duro.
●   Si el servidor se cae sin que algunos datos se escriban
    en el log, es posible que estos se pierdan (dependerá
    del sistema de ficheros).
●   sync_binlog por defecto es 0, que deja que el servidor
    decida cuando realizar la escritura al disco.
●   Se recomienda un valor de 1, para que se fuerce la
    escritura.
●   Esto también es lento, dependerá de los discos duros
    instalados.
●   Si el servidor se cae, como mucho perderemos una
    transacción.                                            13
Irontec – MySQL Replication

                                         Maestro-Esclavo

●   Para comprobar si la replicación es correcta tenemos el
    comando show slave status.
●   Este nos tiene que mostrar lo siguiente:
[...]
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
[...]
Seconds_Behind_Master: 0

    Slave_IO_Running: Se encarga de conectarse al
    maestro para comprobar cambios
    Slave_SQL_Running: Se encarga de escribir las
    sentencias SQL.
    Seconds_Behind_Master: El lag en segundos entre
    el maestro y el esclavo.
                                                                 14
Irontec – MySQL Replication

                                         Maestro-Esclavo

●   Otras opciones:
      –   replicate-do-db
      –   Replicate-ignore-db
      –   binlog-do-db
      –   binlog-ignore-db
      –   replicate-do-table
      –   replicate-wild-do-table
      –   replicate-ignore-table
      –   replicate-wild-ignore-table




                                                                 15
Irontec – MySQL Replication

 Maestro-Esclavo




                         16
Irontec – MySQL Replication

                                                       Maestro-Esclavo

●   El diagrama de las tablas es demasiado grande y no
    entra ;)
    http://dev.mysql.com/doc/refman/5.0/en/replication-rules-table-options.html
●   Para rellenar la diapositiva pondré un dibujo:




    No se quien es el autor :(

                                                                              17
Irontec – MySQL Replication

                                         Maestro-Maestro

●   Lo que se escribe en uno se replica en el otro.
●   Se puede escribir en los dos.




                                                                 18
Irontec – MySQL Replication

                                          Maestro-Maestro

●   La arquitectura maestro-maestro es igual a la maestro
    esclavo.
●   Aquí los hosts realizan las dos tareas, maestro y esclavo
    al mismo tiempo.
●   Esta arquitectura soporta como máximo dos hosts, ya
    que un esclavo solo puede tener como máximo un
    maestro.
             A es maestro de B. B es maestro de A.
              A es esclavo de B. B es esclavo de A.




                                                                  19
Irontec – MySQL Replication

                                                    Maestro-Maestro

●   Se debe tener en cuenta, al igual que antes, lo
    siguiente:
      –   Habilitar el log binario.
      –   Seleccionar un server-id.
      –   Establecer el valor de sync_binlog.
      –   Crear los usuarios para la replicación.
●   El funcionamiento, opciones, monitorización, etc. es
    todo igual.




                                                                         20
Irontec – MySQL Replication

                                          Maestro-Maestro

●   Los auto-incrementales son el gran problema de este
    tipo de arquitectura. Si se realizan dos insert al mismo
    tiempo que incluya un campo autoincremental,
    podemos tener un problema de ID duplicado.
●   A envía a B un artículo cuyo ID autoincremental es
    3000, B envía un artículo diferente a A cuyo
    autoincremental es 3000 también. La replicación se
    rompe.
       –   auto_increment_increment = 2
       –   auto_increment_offset = 1
●   ¿Cómo sería para el server B?


                                                                  21
Irontec – MySQL Replication

                                                        Circular

●   Lo que se escribe en uno se replica en el siguiente, este
    en el siguiente, este en... A → B → C → D → A
●   Es la menos recomendable. En realidad está casi
    prohibida también ;)




                                                                  22
Irontec – MySQL Replication

                                                       Circular

●   Es una forma de disponer de más de dos servidores en
    arquitectura maestro-maestro.
●   Contra más sean los hosts implicados, mayor el caos de
    su administración.
                     A→B→C→D→E→A
●   Si el host C se cae (por ejemplo) la replicación se
    rompe. Lo escrito en B no se replica, lo escrito en D se
    replica en todos menos en C, etc.
●   Si se cae por ejemplo B y D, el caos es infinito. La
    solución es salir corriendo.
●   A no ser que no exista otra solución, no se
    recomienda.
                                                                 23
Irontec – MySQL Replication

                                                       Circular

●   Los logs que reciben los esclavos, deben logearlos en el
    log binario para enviarselo al siguiente en la cadena.
    Esto no es el funcionamiento por defecto, los que se
    recibe como esclavo no se logea. Para cambiarlo:
      –   log­slave­updates
●   En algún momento de la cadena nos llegarán nuestros
    propios logs. Para evitar formar un bucle:
      –   Replicate­same­server­id=0
●   También habrá que tener cuidado con los auto-
    incrementales:
      –   auto_increment_increment=4
      –   auto_increment_offset=1



                                                                 24
Irontec – MySQL Replication

 Replicación rota




                         25
Irontec – MySQL Replication

                                          Replicación rota

●   Es recomendable tener el error-log habilitado, ahí se
    guardará, entre otras cosas, cualquier error relacionado
    con la replicación.
●   ¡EJEMPLO!
Sep 11 11:13:16 test2 mysqld[6776]: 090911 11:13:16 
[ERROR] Slave: Error 'Table 't' already exists' on 
query. Default database: 'mysql'. Query: 'CREATE 
TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE 
utf8_bin)', Error_code: 1050

Sep 11 11:13:16 test2 mysqld[6776]: 090911 11:13:16 
[ERROR] Error running query, slave SQL thread 
aborted. Fix the problem, and restart the slave SQL 
thread with "SLAVE START". We stopped at log 'mysql­
bin.000003' position 421


                                                                 26
Irontec – MySQL Replication

                                          Replicación rota

●    Forma rápida y no tan buena de solucionarlo:
●    Decirle al esclavo que ignore esa querie y continue con
     la replicación:

    mysql> stop slave; Query OK, 0 rows affected (0.00 
    sec) 

    mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; Query 
    OK, 0 rows affected (0.00 sec) 

    mysql> start slave;




                                                                 27
Irontec – MySQL Replication

                                         Replicación rota

●   Forma buena (y algo lenta) de solucionarlo:
                     http://www.maatkit.org/
●   Maatkit makes MySQL easier to manage.
●   Lo de “easier” ponedlo entre muchas comillas.
●   Son una colección de herramientas que nos puede
    ayudar en la administración de nuestro servidores, y en
    este caso en particular, en rescatar una replicación.
●   Todas las utilidades:
                   http://www.maatkit.org/doc/




                                                                 28
Irontec – MySQL Replication

                                           Replicación rota

●    Para saber si dos tables están sincronizadas, podemos
     sacar un checksum de estas y comparar:
       –   mk­table­checksum
●    Para sincronizar los datos de dos tablas:
       –   mk­table­sync


    $ mk­table­checksum h=host1,u=user,p=password h=host2

 $ mk­table­sync –execute 
u=user,p=pass,h=host1,D=db,t=tbl host2




                                                                   29
Irontec – MySQL Replication

                                                             SandBox

●   Para crear una laboratorio de pruebas podemos:
      –   Montar equipos físicos e instalarlos (de locos).
      –   Montar máquinas virtuales.
      –   Usar ¡sandbox!




                                                                         30
Irontec – MySQL Replication

                                                         SandBox

●   SandBox nos permite:
      –   Montar sistemas de replicación
      –   Probar versiones nuevas de MySQL facilmente
      –   Manejar múltiples instancias de MySQL desde un único
            punto.
      –   Te olvidas de rmps, sources, debs... ¡tar.gz binario!
      –   Testear
      –   Testear
      –   Testear...




                                                                     31
Irontec – MySQL Replication

                                                       SandBox

●   No es un producto oficial de MySQL.
●   Está escrito el perl (puag!) y aún así funciona bien.

                 http://mysqlsandbox.net/
●   Tendremos que descargar un paquete tar.gz de MySQL
    y Sandbox.




                                                                   32
Irontec – MySQL Replication

                                                          Instalación

●   ¡Como root!
root@shyris:~# tar ­xzf MySQL­Sandbox­3.0.05.tar.gz

root@shyris:~# cd MySQL­Sandbox­3.0.05/

root@shyris:~/MySQL­Sandbox­3.0.05# perl Makefile.PL

root@shyris:~/MySQL­Sandbox­3.0.05# make

root@shyris:~/MySQL­Sandbox­3.0.05# make test

root@shyris:~/MySQL­Sandbox­3.0.05# make install

root@shyris:/usr/local/bin# ls
low_level_make_sandbox        make_multiple_sandbox     make_sandbox 
                make_sandbox_from_source  sb      test_sandbox
make_multiple_custom_sandbox  make_replication_sandbox  
make_sandbox_from_installed  msandbox                  sbtool 




                                                                         33
Irontec – MySQL Replication

                                          Uso de SandBox

●   Crear un sandbox con una única instancia de MySQL


punisher@shyris:~$ make_sandbox /home/punisher/MySQL/mysql­
5.0.86­percona­highperf­b19.tar.gz 
unpacking /home/punisher/MySQL/mysql­5.0.86­percona­
highperf­b19.tar.gz
Executing low_level_make_sandbox 
­­basedir=/home/punisher/MySQL/5.0.86 
   ­­sandbox_directory=msb_5_0_86 
   ­­install_version=5.0 
   ­­sandbox_port=5086 
   ­­no_ver_after_name 
   ­­my_clause=log­error=msandbox.err




                                                                 34
Irontec – MySQL Replication

                            Uso de SandBox

●   Parar sandbox:
      –   stop
●   Arrancar sandbox:
      –   start
●   Utilizar sandbox:
      –   use
●   Reiniciar sandbox:
      –   restart
●   Limpiar el sandbox:
      –   clean



                                                   35
Irontec – MySQL Replication

                           Crear entorno maestro-esclavo

●   Facil, sencillo y para toda la familia:

punisher@shyris:~$ make_replication_sandbox 
­­how_many_slaves=2 /home/punisher/MySQL/mysql­5.0.86­
percona­highperf­b19.tar.gz 
installing and starting master
installing slave 1
installing slave 2
starting slave 1
. sandbox server started
starting slave 2
. sandbox server started
initializing slave 1
initializing slave 2
replication directory installed in 
$HOME/sandboxes/rsandbox_5_0_86




                                                                       36
Irontec – MySQL Replication

                           Crear entorno maestro-esclavo

●   Acceder al maestro
      –   m1
●   Acceder al esclavo 1
      –   s1
●   Acceder al esclavo 2
      –   s2
●   Chequear esclavos
      –   check_slaves




                                                                37
Irontec – MySQL Replication

                          Crear entorno maestro-maestro

●   Es muy dificil, ¡atentos!

punisher@shyris:~$ make_replication_sandbox 
­­master_master /home/punisher/MySQL/mysql­5.0.86­percona­
highperf­b19.tar.gz 
installing node 1
installing node 2
# server: 1: 
# server: 2: 
# server: 1: 
# server: 2: 
Circular replication activated
group directory installed in 
$HOME/sandboxes/rcsandbox_5_0_86




                                                                 38
Irontec – MySQL Replication

                                Crear replicación circular
punisher@shyris:~$ make_replication_sandbox ­­circular=4 
/home/punisher/MySQL/mysql­5.0.86­percona­highperf­b19.tar.gz 
# server: 1: 
# server: 2: 
executing "clear" on node 1
executing "clear" on node 2
installing node 1
installing node 2
installing node 3
installing node 4
# server: 1: 
# server: 2: 
# server: 3: 
# server: 4: 
# server: 1: 
# server: 2: 
# server: 3: 
# server: 4: 
Circular replication activated
group directory installed in $HOME/sandboxes/rcsandbox_5_0_86



                                                                  39
Irontec – MySQL Replication

                                                          MMM

●   Cuando ya sabemos que queremos y lo montamos,
    llega el mantenimiento.
●   Si tenemos un cluster de, por ejemplo, 2 maestros y 50
    esclavos, comprobar el correcto funcionamiento es
    complicado.
●   ¿Y si deseamos parar algún esclavo?
●   ¿Y si deseamos parar algún maestro?
●   Es necesario reducir el tiempo de parada de
    servicio al mínimo.




                                                                40
Irontec – MySQL Replication

                   MMM




                         41
Irontec – MySQL Replication

                                                                 MMM

●   También el Perl. El mundo se ha vuelto loco...
●   Características:
      –   Monitorización de la replicación
      –   Monitorización de los hosts
      –   Gestión del failover
      –   Balanceo de IPs entre nodos
      –   Gestión de grupos de escritura/lectura




                                                                       42
Irontec – MySQL Replication

                                                                MMM

●   La alta disponibilidad se hace mediante el balanceo de
    Ips virtuales que saltarán de un servidor a otro en caso
    de ser necesario.
      –   Exclusivo: Una única IP para muchos hosts. Si el host que
            la tiene se cae se balancea a otro. Generalmente se usa
            en los nodos de escritura.
      –   Balanceado: Una IP por cada host. Si uno de los hosts se
            cae la IP se balancea a cualquier otro, pasando a tener
            dos IPs virtuales. Se usa para nodos en lectura.




                                                                      43
Irontec – MySQL Replication

                                                                  MMM

●   Se pueden meter los servidores dentro de dos roles,
    escritura y lectura. Escritura es obligatorio, mientras que
    el de lectura no tiene porque definirse.
●   La diferencia es lógica:
       –   Nodos de escritura son aquellos en los que los datos se
            escribirán.
       –   Nodos de lectura son aquellos de los cuales se leerán
            datos.
●   Escritura (maestro) – Lectura (esclavo)




                                                                        44
Irontec – MySQL Replication

                                                            MMM

                     http://mysql-mmm.org/
●   En el sistema de control se instalará:
      –   mysql-mmm-common_2.0.10-1_all.deb
      –   mysql-mmm-monitor_2.0.10-1_all.deb
●   En los nodos:
      –   mysql-mmm-common_2.0.10-1_all.deb
      –   mysql-mmm-agent_2.0.10-1_all.deb
●   ¡Junto con todas las dependencias!




                                                                  45
Irontec – MySQL Replication

                                                          MMM

●   Los ficheros de configuración se guardan en /etc/mysql-
    mmm
●   Todos tendrán un fichero llamado
    mmm_common.conf que será exactamente igual.
●   El nodo de control mmm_mon.conf
●   Los servidores de MySQL mmm_agent.conf




                                                                46
Irontec – MySQL Replication

                                                                 MMM

●   mmm_common.conf
●   Incluye la configuración de:
      –   Los Hosts
      –   Sus Ips
      –   Los roles
      –   Usuario/Contraseña del agente
      –   Usuario/Contraseña para la replicación
      –   La interfaz de red en la que se trabaja




                                                                       47
Irontec – MySQL Replication

                                                                MMM

●   mmm_mon.conf
●   Incluye la configuración de:
      –   Usuario/Contraseña para la monitorización
      –   Ips a las que pingar
      –   Ruta de los binarios
      –   Ruta del PID
      –   Nidel de debug




                                                                      48
Irontec – MySQL Replication

                                                          MMM

●   mmm_agent
●   Incluye la configuración de:
      –   El nombre de este servidor
      –   Todo el mmm_common.conf
      –   Y nada más :P




                                                                49
Irontec – MySQL Replication

                                                                     MMM

●    Como hemos visto, hay varios usuarios y contraseñas
     definidos. Hay que crerlos en MySQL.

    GRANT REPLICATION CLIENT ON *.* TO 'mmm_monitor'@'10.100.1.%' 
    IDENTIFIED BY 'RepMonitor';

    GRANT SUPER, REPLICATION CLIENT, PROCESS ON *.* TO 
    'mmm_agent'@'10.100.1.%' IDENTIFIED BY 'RepAgent';

    GRANT REPLICATION SLAVE ON *.* TO 'replication'@'10.100.1.%' 
    IDENTIFIED BY 'slave';




        –   El usuario monitor se usa para comprobar el estado de los
               servidores Mysql.
        –   El usuario agent se usa para cambiar el read only mode,
               poner offline un equipo, ejecutar un change_master, etc.
        –   El usuario replication slave... para replicación ;)      50
Irontec – MySQL Replication

                                                                    MMM

●   Una vez puesto en marcha los servicios, se deben
    poner online los servidores desde el comando de
    control.
    MMM:~# mmm_control show
      db1(10.100.1.1) master/AWAITING_RECOVERY. Roles: 
      db2(10.100.1.2) master/AWAITING_RECOVERY. Roles: 
      db3(10.100.1.3) slave/AWAITING_RECOVERY. Roles: 
      db4(10.100.1.4) slave/AWAITING_RECOVERY. Roles:

    MMM:~# mmm_control set_online db1
    OK: State of 'db1' changed to ONLINE. Now you can wait 
    some time and check its new roles!
    MMM:~# mmm_control set_online db2
    OK: State of 'db2' changed to ONLINE. Now you can wait 
    some time and check its new roles!
    MMM:~# mmm_control set_online db3
    OK: State of 'db3' changed to ONLINE. Now you can wait 
    some time and check its new roles!
    MMM:~# mmm_control set_online db4
    OK: State of 'db4' changed to ONLINE. Now you can wait 
    some time and check its new roles!
                                                                          51
Irontec – MySQL Replication

                                                                  MMM

●   ¡Ejemplo! Parando un servidor en producción:

    MMM:~# mmm_control set_offline db1
    OK: State of 'db1' changed to ADMIN_OFFLINE. Now you can 
    wait some time and check all roles!


    MMM:~# mmm_control show
      db1(10.100.1.1) master/ADMIN_OFFLINE. Roles: 
      db2(10.100.1.2) master/ONLINE. Roles: 
    writer(10.100.1.10)
      db3(10.100.1.3) slave/ONLINE. Roles: reader(10.100.1.12)
      db4(10.100.1.4) slave/ONLINE. Roles: reader(10.100.1.11)




                                                                        52
Irontec – MySQL Replication

                                              MySQL Proxy

●   El balanceo de carga se puede hacer bien por hardware
    como por software.
●   Existe un software creado para MySQL que nos puede
    “ayudar”.
●   Para que te ayude debes saber LUA.
           http://forge.mysql.com/wiki/MySQL_Proxy
●   Es un proxy que se pone entre el cliente y los servidores
    de MySQL.




                                                                 53
Irontec – MySQL Replication

                                              MySQL Proxy

●   Trae scripts de ejemplo, que entre otras cosas te
    permite:
      –   Reescribir queries.
      –   Balanceo de carga.
      –   Loggeo avanzado.
      –   Failover.
      –   Análisis de queries.




                                                                 54
Irontec – MySQL Replication

                                  Se acabó




miguelangel@irontec.com


      miguel2angel


http://miguelangelnieto.net



                                              55

Mais conteúdo relacionado

Mais procurados

Manual Técnico Para Hacer Réplica
Manual Técnico Para Hacer RéplicaManual Técnico Para Hacer Réplica
Manual Técnico Para Hacer RéplicaAndrés Pizarro
 
Presentación de Postgresql 9.1
Presentación de Postgresql 9.1Presentación de Postgresql 9.1
Presentación de Postgresql 9.1EQ SOFT EIRL
 
Virtualización Libre para sistemas Linux
Virtualización Libre para sistemas LinuxVirtualización Libre para sistemas Linux
Virtualización Libre para sistemas LinuxRodolfo Pilas
 
Manual clase VMware
Manual clase VMwareManual clase VMware
Manual clase VMwareaktivfinger
 
Instalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sqlInstalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sqlUPTM
 
Mysql Seguridad Replicacion
Mysql Seguridad ReplicacionMysql Seguridad Replicacion
Mysql Seguridad Replicacionchristian nieto
 
Ubuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeUbuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeAntonio Ognio
 

Mais procurados (7)

Manual Técnico Para Hacer Réplica
Manual Técnico Para Hacer RéplicaManual Técnico Para Hacer Réplica
Manual Técnico Para Hacer Réplica
 
Presentación de Postgresql 9.1
Presentación de Postgresql 9.1Presentación de Postgresql 9.1
Presentación de Postgresql 9.1
 
Virtualización Libre para sistemas Linux
Virtualización Libre para sistemas LinuxVirtualización Libre para sistemas Linux
Virtualización Libre para sistemas Linux
 
Manual clase VMware
Manual clase VMwareManual clase VMware
Manual clase VMware
 
Instalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sqlInstalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sql
 
Mysql Seguridad Replicacion
Mysql Seguridad ReplicacionMysql Seguridad Replicacion
Mysql Seguridad Replicacion
 
Ubuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeUbuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty Jackalope
 

Destaque

UFRO Master Fisica Medica 2 Metodo y Terapia 2 5 Braquiterapia
UFRO Master Fisica Medica 2 Metodo y Terapia 2 5 BraquiterapiaUFRO Master Fisica Medica 2 Metodo y Terapia 2 5 Braquiterapia
UFRO Master Fisica Medica 2 Metodo y Terapia 2 5 BraquiterapiaWilly H. Gerber
 
Silencio
SilencioSilencio
Silenciolecocq
 
Impact Investing: Recommendations
Impact Investing: RecommendationsImpact Investing: Recommendations
Impact Investing: RecommendationsDevex
 

Destaque (6)

Estacao Zona Norte Lisboa
Estacao Zona Norte LisboaEstacao Zona Norte Lisboa
Estacao Zona Norte Lisboa
 
UFRO Master Fisica Medica 2 Metodo y Terapia 2 5 Braquiterapia
UFRO Master Fisica Medica 2 Metodo y Terapia 2 5 BraquiterapiaUFRO Master Fisica Medica 2 Metodo y Terapia 2 5 Braquiterapia
UFRO Master Fisica Medica 2 Metodo y Terapia 2 5 Braquiterapia
 
Unidad No.1
Unidad No.1Unidad No.1
Unidad No.1
 
Silencio
SilencioSilencio
Silencio
 
Grande é o senhor
Grande é o senhorGrande é o senhor
Grande é o senhor
 
Impact Investing: Recommendations
Impact Investing: RecommendationsImpact Investing: Recommendations
Impact Investing: Recommendations
 

Semelhante a Mysq Replication

Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql AdministracionIrontec
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Nelson Calero
 
Alta disponibilidad con MySQL
Alta disponibilidad con MySQLAlta disponibilidad con MySQL
Alta disponibilidad con MySQLDennis Cohn
 
Actividad No. 1.14: Replicación de datos en MySQL 5.1
Actividad No. 1.14: Replicación de datos en  MySQL 5.1Actividad No. 1.14: Replicación de datos en  MySQL 5.1
Actividad No. 1.14: Replicación de datos en MySQL 5.1Francisco Medina
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysqlGiovanni Peruch
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en WindowsErick Cruz
 
PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.Arturo Espinosa
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Manuel Contreras
 
Replicación maestro
Replicación maestroReplicación maestro
Replicación maestrojaiverlh
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013Erik Gur
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 
Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2Velmuz Buzz
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)Emanuel Calvo
 
Rails Against The Machine
Rails Against The MachineRails Against The Machine
Rails Against The Machineguestae6a05
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
Escenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMSEscenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMSJose Arturo Mora Soto
 

Semelhante a Mysq Replication (20)

Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
 
Alta disponibilidad con MySQL
Alta disponibilidad con MySQLAlta disponibilidad con MySQL
Alta disponibilidad con MySQL
 
Actividad No. 1.14: Replicación de datos en MySQL 5.1
Actividad No. 1.14: Replicación de datos en  MySQL 5.1Actividad No. 1.14: Replicación de datos en  MySQL 5.1
Actividad No. 1.14: Replicación de datos en MySQL 5.1
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysql
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en Windows
 
PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication
 
Replicación maestro
Replicación maestroReplicación maestro
Replicación maestro
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
My sql ha-fina_lv2
My sql ha-fina_lv2My sql ha-fina_lv2
My sql ha-fina_lv2
 
Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
Rails Against The Machine
Rails Against The MachineRails Against The Machine
Rails Against The Machine
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Mysql2
Mysql2Mysql2
Mysql2
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Escenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMSEscenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMS
 

Mais de Irontec

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoIrontec
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPIrontec
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderIrontec
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCIrontec
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Irontec
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17Irontec
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...Irontec
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioIrontec
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerIrontec
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseIrontec
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Irontec
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecIrontec
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskIrontec
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanIrontec
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPIrontec
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraIrontec
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Irontec
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec
 

Mais de Irontec (20)

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajo
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIP
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ Provider
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTC
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz provider
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSense
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | Irontec
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y Asterisk
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: Dialplan
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIP
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzados
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IP
 

Último

Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 

Último (20)

Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 

Mysq Replication

  • 1. MySQL Replication Miguel Ángel Nieto <miguelangel@irontec.com> Irontec – Internet y Sistemas sobre GNU/Linux
  • 2. Irontec – MySQL Replication Introducción ● Un solo servidor de MySQL se convierte en el SPOF de nuestra infraestructura. ● Si no hay datos, no hay servicio. ● apt­get install mysql es solo el primer paso, luego queda mucho por hacer. ● En la era 2.0 todo está en bases de datos, su optimización es imprescindible. ● MySQL nos ofrece muchas posibilidades. 2
  • 3. Irontec – MySQL Replication Introducción ● ¿Cómo evitamos un SPOF? Añadiendo más máquinas. ● Pero las máquinas deben ser iguales en cuanto a la parte lógica, los datos deben estar replicados y mantenerse sincronizados. ● La replicación nos ayuda a solventar en parte este problema. 3
  • 4. Irontec – MySQL Replication Introducción ● ¿Que nos ofrece la replicación? – Seguridad. Los datos están replicados en distintas máquinas físicas, por lo que tenemos un live backup. – Balanceo de carga. Podemos distribuir la carga entre distintas máquinas. – Alta disponibilidad. Al tener datos en varias máquinas, si una se cae otra puede tomar el control. – Quebraderos de cabeza. La informática es la ciencia menos exacta que existe. 4
  • 5. Irontec – MySQL Replication Seguridad ● Una copia de la base de datos se puede hacer de varias formas: – Mysqldump – Copiando las tablas del disco en caliente (parando antes la BBDD). – Replicación – etc... ● La principal diferencia es que la replicación nos ofrece un backup siempre actualizado. Las demás será de la fecha de su programación. ● Utilizad siempre dos métodos como mínimo. Nunca se debe dejar la replicación como único sistema de backup. 5
  • 6. Irontec – MySQL Replication Arquitecturas de replicación ● Tenemos varias formas de montar una arquitectura de replicación. – Maestro-Maestro – Maestro-Esclavo – Circular ● Según lo que se necesite, se monta una u otra. 6
  • 7. Irontec – MySQL Replication Limitaciones ● Un esclavo solo puede tener un maestro. Por el contrario, un maestro múltiples esclavos. ● No es recomendable montar una replicación por WAN. La replicación es asíncrona y sensible a latencias. ● En un servidor esclavo esta prohibido escribir datos, solo se usarán selects. 7
  • 8. Irontec – MySQL Replication Maestro-Esclavo ● Un maestro, múltiples esclavos. ● En el maestro se escribe, en el esclavo se lee. 8
  • 9. Irontec – MySQL Replication Maestro-Esclavo ● Primero debemos configurar el maestro. Imprescindible: – Habilitar los logs binarios. – Crear un usuario que permita conectarse a los esclavos. – Habilitar sync_binlog. – Elegir un server-id. log­bin=mysql­bin server­id=1 sync_binlog=1 9
  • 10. Irontec – MySQL Replication Maestro-Esclavo ● Dar permisos de conexión a los eslavos y dumpeamos la BD: mysqldump BD ­­master­data=2 > dump_file; mysql> grant replication slave on *.* to  'replication'@10.10.10.1 identified by 'slave'; mysql> grant replication slave on *.* to  'replication'@10.10.10.2 identified by 'slave'; 10
  • 11. Irontec – MySQL Replication Maestro-Esclavo ● Configuramos el eslavo: – Seleccionamos un ID diferente para cada uno. – Importamos la BD. – Nos configuramos como esclavo de un maestro. $mysql ­u root ­p < dump server­id=101 mysql> CHANGE MASTER TO MASTER_HOST = ‘10.10.10.100’,  MASTER_USER = ‘replication’, MASTER_PASSWORD = ‘slave’,  MASTER_LOG_FILE = ‘master_log_file’, MASTER_LOG_POS =  master_log_pos; 11
  • 12. Irontec – MySQL Replication Maestro-Esclavo ● Master_log_pos y Master_log_file indican al esclavo desde que posición del log binario deben leer, de forma que no se repliquen datos que ya tenemos. ● Podemos sacarlo con un dump como ya hemos visto o con el comando show master status; ● El log binario debe estár habilitado :) 12
  • 13. Irontec – MySQL Replication Maestro-Esclavo ● No se debe dejar al servidor la elección de cuando escribir los datos al disco duro. ● Si el servidor se cae sin que algunos datos se escriban en el log, es posible que estos se pierdan (dependerá del sistema de ficheros). ● sync_binlog por defecto es 0, que deja que el servidor decida cuando realizar la escritura al disco. ● Se recomienda un valor de 1, para que se fuerce la escritura. ● Esto también es lento, dependerá de los discos duros instalados. ● Si el servidor se cae, como mucho perderemos una transacción. 13
  • 14. Irontec – MySQL Replication Maestro-Esclavo ● Para comprobar si la replicación es correcta tenemos el comando show slave status. ● Este nos tiene que mostrar lo siguiente: [...] Slave_IO_Running: Yes Slave_SQL_Running: Yes [...] Seconds_Behind_Master: 0 Slave_IO_Running: Se encarga de conectarse al maestro para comprobar cambios Slave_SQL_Running: Se encarga de escribir las sentencias SQL. Seconds_Behind_Master: El lag en segundos entre el maestro y el esclavo. 14
  • 15. Irontec – MySQL Replication Maestro-Esclavo ● Otras opciones: – replicate-do-db – Replicate-ignore-db – binlog-do-db – binlog-ignore-db – replicate-do-table – replicate-wild-do-table – replicate-ignore-table – replicate-wild-ignore-table 15
  • 16. Irontec – MySQL Replication Maestro-Esclavo 16
  • 17. Irontec – MySQL Replication Maestro-Esclavo ● El diagrama de las tablas es demasiado grande y no entra ;) http://dev.mysql.com/doc/refman/5.0/en/replication-rules-table-options.html ● Para rellenar la diapositiva pondré un dibujo: No se quien es el autor :( 17
  • 18. Irontec – MySQL Replication Maestro-Maestro ● Lo que se escribe en uno se replica en el otro. ● Se puede escribir en los dos. 18
  • 19. Irontec – MySQL Replication Maestro-Maestro ● La arquitectura maestro-maestro es igual a la maestro esclavo. ● Aquí los hosts realizan las dos tareas, maestro y esclavo al mismo tiempo. ● Esta arquitectura soporta como máximo dos hosts, ya que un esclavo solo puede tener como máximo un maestro. A es maestro de B. B es maestro de A. A es esclavo de B. B es esclavo de A. 19
  • 20. Irontec – MySQL Replication Maestro-Maestro ● Se debe tener en cuenta, al igual que antes, lo siguiente: – Habilitar el log binario. – Seleccionar un server-id. – Establecer el valor de sync_binlog. – Crear los usuarios para la replicación. ● El funcionamiento, opciones, monitorización, etc. es todo igual. 20
  • 21. Irontec – MySQL Replication Maestro-Maestro ● Los auto-incrementales son el gran problema de este tipo de arquitectura. Si se realizan dos insert al mismo tiempo que incluya un campo autoincremental, podemos tener un problema de ID duplicado. ● A envía a B un artículo cuyo ID autoincremental es 3000, B envía un artículo diferente a A cuyo autoincremental es 3000 también. La replicación se rompe. – auto_increment_increment = 2 – auto_increment_offset = 1 ● ¿Cómo sería para el server B? 21
  • 22. Irontec – MySQL Replication Circular ● Lo que se escribe en uno se replica en el siguiente, este en el siguiente, este en... A → B → C → D → A ● Es la menos recomendable. En realidad está casi prohibida también ;) 22
  • 23. Irontec – MySQL Replication Circular ● Es una forma de disponer de más de dos servidores en arquitectura maestro-maestro. ● Contra más sean los hosts implicados, mayor el caos de su administración. A→B→C→D→E→A ● Si el host C se cae (por ejemplo) la replicación se rompe. Lo escrito en B no se replica, lo escrito en D se replica en todos menos en C, etc. ● Si se cae por ejemplo B y D, el caos es infinito. La solución es salir corriendo. ● A no ser que no exista otra solución, no se recomienda. 23
  • 24. Irontec – MySQL Replication Circular ● Los logs que reciben los esclavos, deben logearlos en el log binario para enviarselo al siguiente en la cadena. Esto no es el funcionamiento por defecto, los que se recibe como esclavo no se logea. Para cambiarlo: – log­slave­updates ● En algún momento de la cadena nos llegarán nuestros propios logs. Para evitar formar un bucle: – Replicate­same­server­id=0 ● También habrá que tener cuidado con los auto- incrementales: – auto_increment_increment=4 – auto_increment_offset=1 24
  • 25. Irontec – MySQL Replication Replicación rota 25
  • 26. Irontec – MySQL Replication Replicación rota ● Es recomendable tener el error-log habilitado, ahí se guardará, entre otras cosas, cualquier error relacionado con la replicación. ● ¡EJEMPLO! Sep 11 11:13:16 test2 mysqld[6776]: 090911 11:13:16  [ERROR] Slave: Error 'Table 't' already exists' on  query. Default database: 'mysql'. Query: 'CREATE  TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE  utf8_bin)', Error_code: 1050 Sep 11 11:13:16 test2 mysqld[6776]: 090911 11:13:16  [ERROR] Error running query, slave SQL thread  aborted. Fix the problem, and restart the slave SQL  thread with "SLAVE START". We stopped at log 'mysql­ bin.000003' position 421 26
  • 27. Irontec – MySQL Replication Replicación rota ● Forma rápida y no tan buena de solucionarlo: ● Decirle al esclavo que ignore esa querie y continue con la replicación: mysql> stop slave; Query OK, 0 rows affected (0.00  sec)  mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; Query  OK, 0 rows affected (0.00 sec)  mysql> start slave; 27
  • 28. Irontec – MySQL Replication Replicación rota ● Forma buena (y algo lenta) de solucionarlo: http://www.maatkit.org/ ● Maatkit makes MySQL easier to manage. ● Lo de “easier” ponedlo entre muchas comillas. ● Son una colección de herramientas que nos puede ayudar en la administración de nuestro servidores, y en este caso en particular, en rescatar una replicación. ● Todas las utilidades: http://www.maatkit.org/doc/ 28
  • 29. Irontec – MySQL Replication Replicación rota ● Para saber si dos tables están sincronizadas, podemos sacar un checksum de estas y comparar: – mk­table­checksum ● Para sincronizar los datos de dos tablas: – mk­table­sync $ mk­table­checksum h=host1,u=user,p=password h=host2 $ mk­table­sync –execute  u=user,p=pass,h=host1,D=db,t=tbl host2 29
  • 30. Irontec – MySQL Replication SandBox ● Para crear una laboratorio de pruebas podemos: – Montar equipos físicos e instalarlos (de locos). – Montar máquinas virtuales. – Usar ¡sandbox! 30
  • 31. Irontec – MySQL Replication SandBox ● SandBox nos permite: – Montar sistemas de replicación – Probar versiones nuevas de MySQL facilmente – Manejar múltiples instancias de MySQL desde un único punto. – Te olvidas de rmps, sources, debs... ¡tar.gz binario! – Testear – Testear – Testear... 31
  • 32. Irontec – MySQL Replication SandBox ● No es un producto oficial de MySQL. ● Está escrito el perl (puag!) y aún así funciona bien. http://mysqlsandbox.net/ ● Tendremos que descargar un paquete tar.gz de MySQL y Sandbox. 32
  • 33. Irontec – MySQL Replication Instalación ● ¡Como root! root@shyris:~# tar ­xzf MySQL­Sandbox­3.0.05.tar.gz root@shyris:~# cd MySQL­Sandbox­3.0.05/ root@shyris:~/MySQL­Sandbox­3.0.05# perl Makefile.PL root@shyris:~/MySQL­Sandbox­3.0.05# make root@shyris:~/MySQL­Sandbox­3.0.05# make test root@shyris:~/MySQL­Sandbox­3.0.05# make install root@shyris:/usr/local/bin# ls low_level_make_sandbox        make_multiple_sandbox     make_sandbox                  make_sandbox_from_source  sb      test_sandbox make_multiple_custom_sandbox  make_replication_sandbox   make_sandbox_from_installed  msandbox                  sbtool  33
  • 34. Irontec – MySQL Replication Uso de SandBox ● Crear un sandbox con una única instancia de MySQL punisher@shyris:~$ make_sandbox /home/punisher/MySQL/mysql­ 5.0.86­percona­highperf­b19.tar.gz  unpacking /home/punisher/MySQL/mysql­5.0.86­percona­ highperf­b19.tar.gz Executing low_level_make_sandbox  ­­basedir=/home/punisher/MySQL/5.0.86  ­­sandbox_directory=msb_5_0_86  ­­install_version=5.0  ­­sandbox_port=5086  ­­no_ver_after_name  ­­my_clause=log­error=msandbox.err 34
  • 35. Irontec – MySQL Replication Uso de SandBox ● Parar sandbox: – stop ● Arrancar sandbox: – start ● Utilizar sandbox: – use ● Reiniciar sandbox: – restart ● Limpiar el sandbox: – clean 35
  • 36. Irontec – MySQL Replication Crear entorno maestro-esclavo ● Facil, sencillo y para toda la familia: punisher@shyris:~$ make_replication_sandbox  ­­how_many_slaves=2 /home/punisher/MySQL/mysql­5.0.86­ percona­highperf­b19.tar.gz  installing and starting master installing slave 1 installing slave 2 starting slave 1 . sandbox server started starting slave 2 . sandbox server started initializing slave 1 initializing slave 2 replication directory installed in  $HOME/sandboxes/rsandbox_5_0_86 36
  • 37. Irontec – MySQL Replication Crear entorno maestro-esclavo ● Acceder al maestro – m1 ● Acceder al esclavo 1 – s1 ● Acceder al esclavo 2 – s2 ● Chequear esclavos – check_slaves 37
  • 38. Irontec – MySQL Replication Crear entorno maestro-maestro ● Es muy dificil, ¡atentos! punisher@shyris:~$ make_replication_sandbox  ­­master_master /home/punisher/MySQL/mysql­5.0.86­percona­ highperf­b19.tar.gz  installing node 1 installing node 2 # server: 1:  # server: 2:  # server: 1:  # server: 2:  Circular replication activated group directory installed in  $HOME/sandboxes/rcsandbox_5_0_86 38
  • 39. Irontec – MySQL Replication Crear replicación circular punisher@shyris:~$ make_replication_sandbox ­­circular=4  /home/punisher/MySQL/mysql­5.0.86­percona­highperf­b19.tar.gz  # server: 1:  # server: 2:  executing "clear" on node 1 executing "clear" on node 2 installing node 1 installing node 2 installing node 3 installing node 4 # server: 1:  # server: 2:  # server: 3:  # server: 4:  # server: 1:  # server: 2:  # server: 3:  # server: 4:  Circular replication activated group directory installed in $HOME/sandboxes/rcsandbox_5_0_86 39
  • 40. Irontec – MySQL Replication MMM ● Cuando ya sabemos que queremos y lo montamos, llega el mantenimiento. ● Si tenemos un cluster de, por ejemplo, 2 maestros y 50 esclavos, comprobar el correcto funcionamiento es complicado. ● ¿Y si deseamos parar algún esclavo? ● ¿Y si deseamos parar algún maestro? ● Es necesario reducir el tiempo de parada de servicio al mínimo. 40
  • 41. Irontec – MySQL Replication MMM 41
  • 42. Irontec – MySQL Replication MMM ● También el Perl. El mundo se ha vuelto loco... ● Características: – Monitorización de la replicación – Monitorización de los hosts – Gestión del failover – Balanceo de IPs entre nodos – Gestión de grupos de escritura/lectura 42
  • 43. Irontec – MySQL Replication MMM ● La alta disponibilidad se hace mediante el balanceo de Ips virtuales que saltarán de un servidor a otro en caso de ser necesario. – Exclusivo: Una única IP para muchos hosts. Si el host que la tiene se cae se balancea a otro. Generalmente se usa en los nodos de escritura. – Balanceado: Una IP por cada host. Si uno de los hosts se cae la IP se balancea a cualquier otro, pasando a tener dos IPs virtuales. Se usa para nodos en lectura. 43
  • 44. Irontec – MySQL Replication MMM ● Se pueden meter los servidores dentro de dos roles, escritura y lectura. Escritura es obligatorio, mientras que el de lectura no tiene porque definirse. ● La diferencia es lógica: – Nodos de escritura son aquellos en los que los datos se escribirán. – Nodos de lectura son aquellos de los cuales se leerán datos. ● Escritura (maestro) – Lectura (esclavo) 44
  • 45. Irontec – MySQL Replication MMM http://mysql-mmm.org/ ● En el sistema de control se instalará: – mysql-mmm-common_2.0.10-1_all.deb – mysql-mmm-monitor_2.0.10-1_all.deb ● En los nodos: – mysql-mmm-common_2.0.10-1_all.deb – mysql-mmm-agent_2.0.10-1_all.deb ● ¡Junto con todas las dependencias! 45
  • 46. Irontec – MySQL Replication MMM ● Los ficheros de configuración se guardan en /etc/mysql- mmm ● Todos tendrán un fichero llamado mmm_common.conf que será exactamente igual. ● El nodo de control mmm_mon.conf ● Los servidores de MySQL mmm_agent.conf 46
  • 47. Irontec – MySQL Replication MMM ● mmm_common.conf ● Incluye la configuración de: – Los Hosts – Sus Ips – Los roles – Usuario/Contraseña del agente – Usuario/Contraseña para la replicación – La interfaz de red en la que se trabaja 47
  • 48. Irontec – MySQL Replication MMM ● mmm_mon.conf ● Incluye la configuración de: – Usuario/Contraseña para la monitorización – Ips a las que pingar – Ruta de los binarios – Ruta del PID – Nidel de debug 48
  • 49. Irontec – MySQL Replication MMM ● mmm_agent ● Incluye la configuración de: – El nombre de este servidor – Todo el mmm_common.conf – Y nada más :P 49
  • 50. Irontec – MySQL Replication MMM ● Como hemos visto, hay varios usuarios y contraseñas definidos. Hay que crerlos en MySQL. GRANT REPLICATION CLIENT ON *.* TO 'mmm_monitor'@'10.100.1.%'  IDENTIFIED BY 'RepMonitor'; GRANT SUPER, REPLICATION CLIENT, PROCESS ON *.* TO  'mmm_agent'@'10.100.1.%' IDENTIFIED BY 'RepAgent'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'10.100.1.%'  IDENTIFIED BY 'slave'; – El usuario monitor se usa para comprobar el estado de los servidores Mysql. – El usuario agent se usa para cambiar el read only mode, poner offline un equipo, ejecutar un change_master, etc. – El usuario replication slave... para replicación ;) 50
  • 51. Irontec – MySQL Replication MMM ● Una vez puesto en marcha los servicios, se deben poner online los servidores desde el comando de control. MMM:~# mmm_control show   db1(10.100.1.1) master/AWAITING_RECOVERY. Roles:    db2(10.100.1.2) master/AWAITING_RECOVERY. Roles:    db3(10.100.1.3) slave/AWAITING_RECOVERY. Roles:    db4(10.100.1.4) slave/AWAITING_RECOVERY. Roles: MMM:~# mmm_control set_online db1 OK: State of 'db1' changed to ONLINE. Now you can wait  some time and check its new roles! MMM:~# mmm_control set_online db2 OK: State of 'db2' changed to ONLINE. Now you can wait  some time and check its new roles! MMM:~# mmm_control set_online db3 OK: State of 'db3' changed to ONLINE. Now you can wait  some time and check its new roles! MMM:~# mmm_control set_online db4 OK: State of 'db4' changed to ONLINE. Now you can wait  some time and check its new roles! 51
  • 52. Irontec – MySQL Replication MMM ● ¡Ejemplo! Parando un servidor en producción: MMM:~# mmm_control set_offline db1 OK: State of 'db1' changed to ADMIN_OFFLINE. Now you can  wait some time and check all roles! MMM:~# mmm_control show   db1(10.100.1.1) master/ADMIN_OFFLINE. Roles:    db2(10.100.1.2) master/ONLINE. Roles:  writer(10.100.1.10)   db3(10.100.1.3) slave/ONLINE. Roles: reader(10.100.1.12)   db4(10.100.1.4) slave/ONLINE. Roles: reader(10.100.1.11) 52
  • 53. Irontec – MySQL Replication MySQL Proxy ● El balanceo de carga se puede hacer bien por hardware como por software. ● Existe un software creado para MySQL que nos puede “ayudar”. ● Para que te ayude debes saber LUA. http://forge.mysql.com/wiki/MySQL_Proxy ● Es un proxy que se pone entre el cliente y los servidores de MySQL. 53
  • 54. Irontec – MySQL Replication MySQL Proxy ● Trae scripts de ejemplo, que entre otras cosas te permite: – Reescribir queries. – Balanceo de carga. – Loggeo avanzado. – Failover. – Análisis de queries. 54
  • 55. Irontec – MySQL Replication Se acabó miguelangel@irontec.com miguel2angel http://miguelangelnieto.net 55