Instale o cluster multimestre MariaDB Galera Cluster no CentOS7

1. Introdução ao MariaDB Galera Cluster

MariaDB Galera Cluster é uma ferramenta para sincronizar um cluster multimestre de bancos de dados MariaDB. Em termos de dados, é totalmente compatível com MariaDB e MySQL. característica:

  • Replicação síncrona

  • Lógica de topologia multi-mestre ativo-ativo

  • Os dados podem ser lidos e gravados em qualquer nó do cluster

  • Controle de associação automático, o nó com falha é automaticamente removido do cluster

  • Junção de nó automática

  • Replicação paralela verdadeira, com base no nível da linha

  • Conexão direta do cliente, interface nativa do MySQL


2. Preparação ambiental

Prepare duas máquinas virtuais e instale o CentOS7-1908 (7.7) respectivamente.

Servidor A: 193.168.12.9     
servidor B db1 : 193.168.12.10    db2


Desative o firewall nas duas máquinas virtuais:

systemctl stop firewalld 
systemctl disable firewalld


Feche o selinux nas duas máquinas virtuais:

setenforce 0

Modifique / etc / selinux / config e defina SELINUX = disabled para garantir que tenha efeito após a reinicialização.


3. Instale o mariadb 10.5

Por padrão, a fonte do centos não contém mariadb 10.5. Você precisa configurá-lo sozinho. Crie o arquivo /etc/yum.repo.d/mariadb.repo. A configuração aqui é para fazer o download do espelho do Alibaba Cloud, que é mais rápido que o site oficial. O conteúdo é o seguinte:

[mariadb] 
name = MariaDB 
baseurl = https: //mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64 
pgpkey = https: //mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB 
pgpcheck = 0


Baixe e importe a CHAVE:

wget --no-check-certificate https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB / etc / pki / rpm-gpg / 
rpm --import / etc / pki / rpm-gpg / *


Instale com yum:

yum install -y MariaDB-server MariaDB-client


Se você configurou outras fontes antes e a instalação falhar, você pode limpar e tentar novamente:

yum clean metadata


Dois servidores de banco de dados executam a mesma operação.


4. Configure o mariadb

Comece o mariadb:

systemctl start mariadb


A inicialização pode ser realizada sob demanda:

mysql_secure_installation


Por padrão, o mariadb só permite que o root faça login localmente. Você precisa criar permissões de gerenciamento remoto de root manualmente. Você pode criar uma nova ou modificar a raiz atual. Se você criar uma nova:

mysql -uroot -p 
use mysql 
criar usuário root @ '%' identificado por 'mariadb'; 
privilégios de descarga;


Ou modifique o host que tem raiz:

mysql -u root -p 
use mysql 
update user set host = '%' onde user = 'admin' e host = 'localhost'; 
privilégios de descarga;


Dois servidores de banco de dados executam a mesma operação.


5. Configure um cluster

Depois que os dois bancos de dados independentes estiverem prontos, comece a formar um cluster galera e interrompa o serviço mariadb primeiro:

systemctl stop mariadb


Modifique a configuração do mariadb: /etc/my.cnf.d/server.cnf 

[Galera] 
wsrep_on = NO 
wsrep_provider = / usr / lib64 / Galera-4 / libgalera_smm.so 
wsrep_cluster_address = gcomm: //193.168.12.9,193.168.12.10 
wsrep_cluster_name = rvsdb 
wsrep_node_name = DB1 
wsrep_node_address = 193.168.12.9 
binlog_format = linha 
default_storage_engine = InnoDB 
innodb_autoinc_lock_mode = 2 
wsrep_slave_threads = 1 
innodb_flush_log_at_trx_commit = 0 
bind-address = 0.0.0.0


Exceto para wsrep_node_name e wsrep_node_address, outros itens de configuração na configuração dos dois servidores são iguais.


Inicie o primeiro nó criando um novo cluster:

galera_new_cluster


Neste ponto, você pode ver que o processo mysqld é iniciado com parâmetros e escuta nas portas 4567 e 3306 ao mesmo tempo.

Deve-se notar que galera_new_cluster é executado apenas uma vez, e o nó reinicia no modo de serviço normal no futuro.

06.png

07.png


Inicie o segundo nó da maneira normal:

systemctl start mariadb


Se nenhum erro for relatado durante a inicialização, parabéns, a formação do cluster está concluída. A recomendação oficial é agrupar pelo menos 3 nós, mas 2 também podem funcionar, mas o Split-Brain pode ocorrer.


Nesse momento, ambas as partes efetuam login em seu próprio mariadb e verificam o status do cluster.Você pode ver que há o mesmo cluster_status_uuid e o número de clusters cluster_size também é 2, o que significa dois.

09.png


Execute instruções DDL ou SQL em dois computadores respectivamente, e ambos serão sincronizados entre si.






Acho que você gosta

Origin blog.51cto.com/boytnt/2542583
Recomendado
Clasificación