MariaDB Cluster Galera é uma solução de base de dados totalmente open-source e com funcionamento em cluster.
O funcionamento é baseado em “synchronous multi-master” e para já suporta apenas InnoDB/XtraDB como mecanismo de armazenamento.
O deploy desta solução é extremamente rápida, esta intalação utilizei 2 VMs com CentOS 6:
192.168.56.201 galera01.m04m.com
192.168.56.202 galera02.m04m.com
1) Adicionar ao repositório do MariaDB ao YUM:
vi /etc/yum.repos.d/MariaDB.repo
Adicionar a entrada abaixo:
64-bits:
# MariaDB 5.5 CentOS repository list – created 2013-07-03 04:40 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
32-bits:
# MariaDB 5.5 CentOS repository list – created 2013-07-03 04:46 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
2) Instalar o MariaDB Galera Server:
O MariaBD substitui completamente o MySQL, portanto, temos que remover toda a referência do MySQL.
PS: É importante realizar um backup caso o MySQL esteja a ser usado.
yum erase *mysql*
yum install MariaDB-Galera-server MariaDB-client setroubleshoot
3) Configuração inicial:
service mysql start
O Cluster comunica-se através das seguintes portas: 3306, 4444 e 4567 (tcp protocol).
É importante , e recomendado, executar o comando abaixo, para configuração de passwords e ter um ambiente mais controlado.
mysql_secure_installation
Executar o script na base de dados:
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
4) Iniciar o primeiro node do cluster:
mysqld –wsrep_cluster_address=gcomm:// –user=mysql –wsrep_provider=/usr/lib/galera/libgalera_smm.so –wsrep_sst_auth=root:password
No meu caso, como utilizei um ambiente 32 bits, utilizei a lib /usr/lib/galera/libgalera_smm.so, se fosse 64 bits, deveria ser /usr/lib64/galera/libgalera_smm.so.
5) Juntando outros nodes ao cluster
mysqld –wsrep_cluster_address=gcomm://192.168.56.201 –user=mysql –wsrep_provider=/usr/lib64/galera/libgalera_smm.so –wsrep_sst_auth=root:password
Para uma configuração mais clean, deve-se adicionar estes parametros ao /etc/my.cnf.
6) Galera a funcionar: