Suponiendo dos servidores con IP's 10.1.0.1 (galera1) y 10.1.0.2 (galera2), la instalación de un cluster MariaDB es bien sencilla.
- Instalamos
mariadb-serveren nuestros nodos:apt install mariadb-server - Paramos el servicio
mariadb.serviceen todos los nodos:systemctl stop mariadb.service - Nos creamos en todos los nodos el fichero
/etc/mysql/conf.d/galera.confcon el siguiente contenido (modificando en cada nodo la configuración específica):
[mysqld]
binlog_format=ROW
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
query_cache_size=0
query_cache_type=0
bind_address=0.0.0.0
#Galera: Config. Proveedor
wsrep_provider=/usr/lib/galera/libgalera_smm.so
#wsrep_provider_options="gcache.size=32G"
#Galera: Config. Cluster
wsrep_cluster_name="clusterDB"
wsrep_cluster_address="gcomm://10.1.0.1,10.1.0.2"
#Galera: Config. Especifica Nodo
wsrep_node_address=10.1.0.1
wsrep_node_name=galera1.local
#Galera: Config. Sincronizacion
wsrep_sst_method=rsync
#wsrep_sst_auth=user:pass
#Galera: Desde version 10.1 es necesario activar wsrep_on
wsrep_on=ON
- Ejecutamos en el primer nodo
galera_new_cluster - Comprobamos si ya tenemos el primer nodo en el clúster:
root@galera1:~# mysql -p
MariaDB [(none)]> SHOW STATUS LIKE 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 1 |
+--------------------+-------+
1 row in set (0.00 sec)
- Arrancamos el servicio en el segundo nodo (
systemctl start mariadb.service) - Comprobamos el tamaño del clúster de nuevo:
root@galera1:~# mysql -p
MariaDB [(none)]> SHOW STATUS LIKE 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 2 |
+--------------------+-------+
1 row in set (0.00 sec)
Et voilà!