You are on page 1of 12

ITSAT – Ingeniería en Sistemas Computacionales

BASE DE DATOS DISTRIBUIDAS


Test a MySQL Cluster 7.1.10

Dr. Fredy Juárez Pérez


fredyjuarezp@gmail.com

D-1 Dr. Fredy Juarez – ISC - 2017


ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . La practica consiste en mostrar como se replican la


información de las bases de datos, sabemos que:

sql.node01 sql.node02

Los nodos de datos almacenan y replican las
192.168.1.123 192.168.1.124 bases de datos, es tolerante a fallos, es decir,
si alguno de ellos falla, la información se
data.node01 data.node01
192.168.1.121 192.168.1.121 continua almacenando en los nodos de datos
restantes.
mgm.node

Los nodos de MySQL permiten a las
192.168.1.121 aplicaciones el acceso a las bases de datos,
mientras mas nodos de MySQL mas pueden
ser atendidos.

D-2 Dr. Fredy Juarez – ISC - 2017


ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . Vamos a proceder a obtener una conexión vía ssh o


putty desde Windows a los dos nodos de MySQL por separado.


Tenemos dos conexiones: 192.168.1.123 (sql.node1) y 192.168.1.124
(sql.node02)

D-3 Dr. Fredy Juarez – ISC - 2017


ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . Ahora vamos a crear el usuario demo, con acceso


desde cualquier lugar y password demo


Podemos observar que el usuario demo se ha creado, pero desde el
segundo nodo no se alcanza a replicar.

D-4 Dr. Fredy Juarez – ISC - 2017


ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . Para sincronizar usamos el comando source


/usr/share/mysql/ndb_dist_priv.sql


Después usamos la llamada a la función call
mysql.mysql_cluster_move_privileges();

D-5 Dr. Fredy Juarez – ISC - 2017


ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . Una vez replicado, volvemos a consultar el host y


usuario creado para comprobar que se ha replicado.


Ahora podemos ver que el usuario de ha replicado a los dos nodos, esto
quiere decir que una aplicación cualquiera, puede conectarse a cualquiera
de los nodos MySQL y tendrá acceso a la misma información.

El el momento que un nodo no alcance a atender a miles de usuarios,
podra instalarse un nuevo nodo y duplicar la capacidad de atencion, en
este punto hace falta instalar un balanceo de carga, que cuando un cliente
nuevo llegue, mire el estado de los nodos MySQL y lo redireccione al que
esta mas libre.
D-6 Dr. Fredy Juarez – ISC - 2017
ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . Ahora vamos a salir de la sesión e iniciar una con el


usuario demo creado


Observamos que solo nos permite conectar a un nodo, cuando esto sucede
hay que recrear el usuario, usar drop y volver a crearlo, esto porque
primero debe sincronizarse y llamarse a la función antes de crearse
usuarios.
D-7 Dr. Fredy Juarez – ISC - 2017
ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . Procedemos a borrar el usuario demo y volvera


crearlo.


Para hacerlo, accedemos al primer nodo MySQL y desde mysql tecleamos
drop user demo, después flush privileges; posteriormente volvemos a crear
el usuario con grant y finalmente flush privileges;.

D-8 Dr. Fredy Juarez – ISC - 2017


ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . Una vez recreado salimos y volvemos a entrar usando


el usuario nuevo.


Ahora podemos ver que tenemos acceso a los dos nodos MySQL se forma
separada una vez creado el usuario desde cualquier nodo MySQL se ha
replicado.
D-9 Dr. Fredy Juarez – ISC - 2017
ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . Ahora vamos a crear una base de datos nueva en el


nodo 1 y desde el nodo 2 vamos a crear una tabla, después desde el nodo 1
vamos a insertar datos y observar como se replican.


Los comandos para crear table e insertar se pueden hacer desde cualquier
nodo, al final ambos deben de tener los mismos datos como puede verse.

D-10 Dr. Fredy Juarez – ISC - 2017


ITSAT – Ingeniería en Sistemas Computacionales

Test a MySQLCluster . A partir de aquí, se puede trabajar de manera normal,


es decir, los usuarios de las bases de datos no saben que es un cluster de alta
disponibilidad.

La caída de un nodo se puede compensar con la operación de los demas, asi


se logra la alta disponibilidad y la tolerancia a fallos.

De igual forma, cuando el numero de usuario crece y un solo servidor no es


suficiente para atender, se pueden instalar mas nodos de mysql.

Para esto hace falta instalar al frente de los nodos de MySQL un balanceador
de carga como por ejemplo ultramonkey para redirigir y distribuir
uniformemente las peticiones de los usuarios hacia lso diferentes nodos
MySQL.

En teoria no existen limites para el numero de nodos de almacenamiento y de


MySQL.
D-11 Dr. Fredy Juarez – ISC - 2017
ITSAT – Ingeniería en Sistemas Computacionales

¿PREGUNTAS?

D-12 Dr. Fredy Juarez – ISC - 2017

You might also like