Hola a tod@s,
En este post vamos a realizar una instalación de bases de datos distribuidas con MariaDB Galera Cluster en 3 máquinas Ubuntu Server.
- Creamos la primera máquina virtual que después clonaremos dos veces:
- Actualizamos con apt-get update y apt-get upgrade:
- Instalamos mariadb con apt-get install mariadb-server:
- Instalamos mysql_secure_installation:
- Apagamos la máquina virtual y la clonamos dos veces, estos dos clones los vamos a configurar cada uno con su hostname y con su dirección IP, por lo tanto, estas son las tres máquinas que tenemos:
- Editamos el fichero /etc/mysql/mariadb.conf.d/50-server.cnf del primer nodo donde ponemos un comentario en la línea bind-address=127.0.0.1 y al final del mismo añadimos:
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=»gcomm://»
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_cluster_name=»MariaDB_Cluster»
# IP address del equipo:
wsrep_node_address=»192.168.14.71″
- Iniciamos galera con galera_new_cluster en el primer nodo:
- Reeditamos /etc/mysql/mariadb.conf.d/50-server.cnf y añadimos las IPs de todos los nodos:
- En los otros nodos escribimos una configuración igual pero cambiando la IP:
- Instalamos la base de datos «facturacion» en cualquiera de los 3 nodos y compruebamos que se replica en los otros 2 nodos:
- La base de datos facturación la hemos descargado en esta ruta del servidor MariaDB1:
- Ahora vamos a instalar la base de datos facturación sobre el servidor MariaDB1:
- Paramos e iniciamos mariadb en el segundo nodo y en el tercer nodo y volvemos a consultar en el primer nodo (vemos que los otros nodos actualizan información, en este caso, hemos creado la base de datos facturacion en el nodo1 y vemos que aparece en el nodo2 y nodo3:
- Insertamos un nuevo registro en la tabla de clientes en cualquiera de los nodos (diferente al usado en el apartado anterior) y compruebamos que se replica en los otros 2.
- Sobre el servidor MariaDB2 insertamos un nuevo registro en la tabla clientes:
- Ahora vemos que se replica en los otros dos nodos:
- Apagamos la máquina virtual de cualquiera de los nodos e inserta un nuevo cliente en cualquiera de los otros 2 nodos en funcionamiento.
- Apagamos el nodo 3:
- Insertamos un nuevo cliente en el nodo 2:
- Arrancamos de nuevo el nodo apagado y comprobamos que se sincroniza este último dato insertado en clientes.
- Volvemos a iniciar de nuevo el nodo apagado (MariaDB3):
- Verificamos que se sincroniza este último registro insertado sobre la tabla clientes:
Saludos y espero que os resulte de ayuda 😉