Mysql Cluster Configuration
Os queremos enseñar como configurar un clúster MYSQL con una IP VIP y como realizar las pruebas de que trabaja adecuadamente.
1 2 3 |
IP VIP MYSQL: 192.168.100.40 MYSQL01: 192.168.100.7 MYSQL02: 192.168.100.24 |
MYSQL CLUSTER E IP VIP
En nuestro caso, nuestras máquinas estaban trabajando con Ips Públicas y hemos creado una red Privada que es donde deben estar las máquinas MYsql para trabajar en el Backend de nuestros sistemas y no estar tan expuestas. Así que vamos a montar una IP VIP que será la que configuraremos en nuestros servidores Apache:
NODO1
Entramos al MYSQL01 con el usuario root de mysql:
1 |
mysql –u root -p |
Lanzamos este comando, cambiar la password por la vuestra.:
1 |
mysql> GRANT REPLICATION SLAVE ON *.* TO 'userslave'@'192.168.100.24' IDENTIFIED BY 'pUP5qorO6xxMPTTt'; |
Obtener información de replicación del maestro:
1 |
mysql> show master status; |
NODO2
Ahora vamos al MYSQL02 y entramos al MYSQL01 con el usuario root de mysql:
1 |
mysql –u root -p |
Paramos el esclavo:
1 |
SLAVE STOP; |
Lanzamos este comando:
1 |
CHANGE MASTER TO MASTER_HOST = '192.168.100.7', MASTER_USER = 'userslave', MASTER_PASSWORD = 'pUP5qorO6ZNHf3q', MASTER_LOG_FILE = 'mysql-bin.000060', MASTER_LOG_POS = 303; |
Arrancamos nuevamente el esclavo:
1 |
SLAVE START; |
CONFIGURACION IP VIP
Añadimos en el fichero de CADA NODO la IP VIP /etc/network/interfaces:
1 2 3 4 5 6 7 8 9 10 11 12 |
root@mysql0<span style="color: #ff0000;">2</span>:~# nano /etc/network/interfaces # The loopback network interface auto lo eth0 <span style="color: #ff0000;">eth0:0</span> iface lo inet loopback iface eth0 inet static address 192.168.100.<span style="color: #ff0000;">24</span> netmask 255.255.255.0 broadcast 192.168.255.255 gateway 192.168.100.100 <span style="color: #ff0000;">iface eth0:0 inet static</span> <span style="color: #ff0000;">address 192.168.100.40</span> |
PRUEBAS DE REPLICACION
Para probar si la réplica funciona correctamente creamos una base de datos en el NODO 1:
1 2 |
mysql> CREATE DATABASE test2; Query OK, 1 row affected (0.00 sec) |
Creamos un usuario:
1 2 3 4 5 |
mysql> USE test2; Database changed mysql> CREATE TABLE example (node_id INT PRIMARY KEY, node_name mysql> VARCHAR(30)); Query OK, 0 rows affected (0.01 sec) |
Insertamos datos:
1 2 3 4 |
mysql> INSERT INTO test.example VALUES (1, 'test1'); ERROR 1146 (42S02): Table 'test.example' doesn't exist mysql> INSERT INTO test2.example VALUES (1, 'test1'); Query OK, 1 row affected (0.00 sec) |
Vemos el contenido:
1 2 3 4 5 6 7 |
mysql> SELECT * FROM test2.example +---------+-----------+ | node_id | node_name | +---------+-----------+ | 1 | test1 | +---------+-----------+ 1 row in set (0.00 sec) |
Vamos al NODO 2 y comprobamos la réplica:
1 2 3 4 5 6 7 8 9 10 |
mysql> show databases; +------------------------+ | Database | +------------------------+ | information_schema | | mysql | | test | | test2 | +------------------------+ 11 rows in set (0.00 sec) |
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?