Este documento describe cómo configurar una arquitectura de replicación maestro-esclavo entre dos servidores MySQL para lograr alta disponibilidad. Se explica que el servidor maestro debe tener activado el log binario y un identificador único, y crear un usuario con privilegios de replicación en el esclavo. Luego, se copia la base de datos del maestro al esclavo, se inicia la replicación indicando la ubicación del log binario y posición de lectura, y se monitorea el estado de la replicación en el esclavo para verificar su correcto funcion
0 calificaciones0% encontró este documento útil (0 votos)
60 vistas7 páginas
Este documento describe cómo configurar una arquitectura de replicación maestro-esclavo entre dos servidores MySQL para lograr alta disponibilidad. Se explica que el servidor maestro debe tener activado el log binario y un identificador único, y crear un usuario con privilegios de replicación en el esclavo. Luego, se copia la base de datos del maestro al esclavo, se inicia la replicación indicando la ubicación del log binario y posición de lectura, y se monitorea el estado de la replicación en el esclavo para verificar su correcto funcion
Este documento describe cómo configurar una arquitectura de replicación maestro-esclavo entre dos servidores MySQL para lograr alta disponibilidad. Se explica que el servidor maestro debe tener activado el log binario y un identificador único, y crear un usuario con privilegios de replicación en el esclavo. Luego, se copia la base de datos del maestro al esclavo, se inicia la replicación indicando la ubicación del log binario y posición de lectura, y se monitorea el estado de la replicación en el esclavo para verificar su correcto funcion
Este documento describe cómo configurar una arquitectura de replicación maestro-esclavo entre dos servidores MySQL para lograr alta disponibilidad. Se explica que el servidor maestro debe tener activado el log binario y un identificador único, y crear un usuario con privilegios de replicación en el esclavo. Luego, se copia la base de datos del maestro al esclavo, se inicia la replicación indicando la ubicación del log binario y posición de lectura, y se monitorea el estado de la replicación en el esclavo para verificar su correcto funcion
Descargue como DOC, PDF, TXT o lea en línea desde Scribd
Descargar como doc, pdf o txt
Está en la página 1de 7
Replicacion MySQL maestro-esclavo
En este artculo vamos a continuar con la alta disponibilidad de
MySQL creando una sencilla arquitectura de replicacin maestro- esclavo (master-slave). Nuestro sistema va a contar con dos servidores MySQL, uno que har la funcin de maestro, que recibir todos los !"#$ES de tablas y los enviar mediante un lo% binario a otro servidor MySQL esclavo &'odramos 'oner tantos como quisieramos(. !artimos de la base que tenemos instalado MySQL en ambos servidores, sino toca instalarlo como si de una instalacin estndar se tratara &'or yum, com'ilando, 'or 'aquetes 'recom'ilados, etc(. $ambi)n utili*aremos la base de datos world 'ara hacer 'ruebas, dis'onible en+ htt'+,,do-nloads.mysql.com,docs,-orld.sql.*i' .amos a utili*ar la si%uiente nomenclatura 'ara los hosts+ mysql-master mysql-slave Lo 'rimero que debemos saber a la hora de con/%urar los dos nodos es que+ 0. El servidor Master debe tener activado el lo% binario &log-bin(. 1. #mbos deben tener un identi/cador 2nico &server-id(. 3. El servidor maestro deber tener un usuario con 'rivile%io REPL!"#$% SL"&E. P'esta en marc(a del Master (mysql-master) !ara activar el lo% binario, accedemos al /chero de con/%uracin ,etc,my.cnf y a4adimos lo%5bin dentro de la seccin 6mysqld7. En la misma seccin 6mysqld7 debemos asi%nar un n2mero 2nico a modo de identi/cador tanto al Master como al Slave, en este caso asi%namos 0 al Master+ Master my.cnf+ [mysqld] log-bin server-id=1 8einiciamos el servidor maestro y veri/camos que los lo%s binarios se han creado en el directorio de datos+ #ccedemos 'or shell a la consola MySQL y creamos el usuario con el 'rivile%io 8E!L9:#$9;N SL#.E, 0<1.0=>.0.01< es la 9! del servidor esclavo+ #'rovechamos 'ara volcar la base de datos -orld sobre la que haremos al%unas 'ruebas+ P'esta en marc(a del Slave (mysql-slave) En la seccin 6mysqld7 del /chero de con/%uracin ,etc,my.cnf debemos asi%nar el id 1 al Slave+ [mysqld] server-id=2 8einiciamos el servidor MySQL esclavo+ mysql-master# /etc/init.d/mysqld restart
!opia inicial de la base de datos (directorio data) #ntes de activar la re'licacin ambos servidores deben tener la misma informacin &bases de datos( y en el mismo 'unto de restauracin. Lo 'rimero que haremos antes de hacer la co'ia es hacer un ?ush de las tablas y bloquear las escrituras, de este modo 'odemos hacer el @sna'shotA sin tener que a'a%ar el servidor MySQL. $odo esto lo hacemos en el Master+ mysql-master> FLU! "#$L% &'"! (%#) L*+,- #hora 'odemos hacer la co'ia de muchas formas, con mysqldum', rsync de los datos, com'rimiendo el directorio de datos donde se aloBan las bases de datos con .tar.%*, etc na ve* reali*ado 'odemos volver a desbloquear las tablas, no sin antes abrir una nueva shell de mysql y a'untar 'or un lado el /chero de lo% binario que se est usando y la 'osicin en la que se ha quedado 'ues ser la que se usar 'osteriormente 'ara comen*ar la re'licacin en el esclavo+ #hora s que 'odemos desbloquearlas+ mysql-master> U.L*+, "#$L%- Lle%a el momento de movernos al esclavo, lo 'rimero que debemos hacer es ase%urarnos de 'arar la re'licacin en caso de que estuviera activa+ mysql-slave> slave sto/- 01ery *,2 3 ro4s a55ected2 1 4arning 63.33 sec7 En este momento los datos del master que hemos com'rimido tendramos que restaurarlos en la car'eta de datos del esclavo, sim'lemente los descom'rimimos sobre la ruta ,var,lib,mysql o la que ten%a vuestra instalacin. #hora lle%a el momento clave, tenemos que indicarle al esclavo quien es el servidor maestro y establacer la comunicacin. Es'eci/caremos el hostname del master, el usuario creado anteriormente 'ara la re'licacin, su clave, el /chero de lo% binario a utili*ar y su 'osicin. 8ecordad que esto 2ltimo lo hemos a'untado al hacer un SC;D M#S$E8 S$#$SE Lle%o el momento de arrancar la re'licacin, 'ara ello reactivamos el esclavo+ mysql-slave> "#(" L#8%- 01ery *,2 3 ro4s a55ected 63.31 sec7 Revisar el estado de la replicacin na ve* 'uesta en marcha la re'licacin, deberan eFistir unos 'rocesos concretos tanto en el master como el slave. En el master debera a'arecer una coneFin del servidor esclavo con el usuario usado en la re'licacin es'erando a recibir actuali*aciones a trav)s del bin5lo%+ G el slave debera tener dos coneFiones relacionadas con la re'licacin, un thread SQL y otro de 9,; relacionado con las lecturas de relay lo%+ Monitori)acin de la replicacin #hora que ya tenemos la re'licacin funcionando tenemos que conocer la forma de monitori*ar su funcionamiento, el comando ms im'ortante lo 'odemos eBecutar en el esclavo &SC;D SL#.E S$#$S(, nos indicar el estado detallado de la re'licacin+ Los 'untos ms im'ortantes+ Slave*$*State+ Monitori*a el estado del servidor esclavo res'ecto al master, en este caso est es'erando a recibir eventos &actuali*aciones del lo% binario 'or 'arte del master. Master*log*+ile+ Es'eci/ca el lo% binario en el servidor maestro que se est utili*ando en la re'licacin. Read*Master*Log*Pos+ 9ndica la 'osicin hasta la cual se ha ledo del lo% binario del master, debera coincidir con la que nos da el SC;D M#S$E8 S$#$S en el servidor maestro y con el valor del 'armetro E,ec*Master*Log*Pos Relay*Master*log*+ile+ Es'eci/ca el lo% binario en el servidor esclavo que se est utili*ando en la re'licacin. Slave*$*R'nning y Slave*SQL*R'nning+ Monitori*an si los dos 'rocesos mencionados antes estn corriendo, los threads 9;H$C8E#" y SQLH$C8E#". Es crtico que ambos est)n siem're corriendo. Seconds*-e(ind*Master+ Este 'armetro 'uede ser un indicativo claro de 'roblemas de car%a, conectividad de red, etc. 9ndica el n2mero de se%undos de retardo res'ecto al servidor maestro. Lo ideal, I.
Probando la replicacin # 'artir de aqu 'odemos veri/car de una forma muy sencilla el funcionamiento de la re'licacin. Si a4adimos, modi/camos o borramos re%istros en una tabla de una base de datos del master automticamente se re'licar en la slave. Si creamos una base de datos en el master automticamente se crear en el slave, etc+ mysql5master+ Jueno, de momento esto 'odra ser su/ciente 'ara una 'rimera a'roFimacin a la re'licacin maestro5esclavo de MySQL. En futuros artculos si os resulta interesante 'odemos inda%ar y detalladar al%unas de las cosas tratadas en el artculo y,o revisar otros ti'os de re'licacin, como la circular, la de doble sentido, etc. htt'+,,rm5rf.es,re'licacion5mysql5maestro5esclavo,