banco de dados MySQL (seis) - MHA MySQL Cluster de alta disponibilidade

aglomerado Disponibilidade MySQL alta de MHA

Vantagens sobre o MMM: salvar recursos, como MMM ainda precisa ser um servidor principal, o servidor pode diretamente do servidor primário para o backup

Instalação de Configuração MHA ambiente de alta disponibilidade (ambiente mostrado abaixo)

Só precisa de um servidor para gerenciar, quando o servidor primário falhar vip Mestre mudou automaticamente para o IP virtual do servidor, a partir do servidor se o topo servidor primário

MHA funciona de : 1. Salve o log de eventos binário (eventos log binário) para baixo a partir do colapso do mestre

                              2. Identificar as últimas atualizações contêm escravo

                              3. Aplicação relé log diferença (relay log) para outro escravo

                              4. Aplicar para salvar o evento do registro de mestre binário (eventos log binário)

                              5. elevar um escravo como o novo mestre

                              6. Faça a outra escravo conectado à nova replicação mestre

pacote de instalação vem com ferramentas

Gerente Kit inclui as seguintes ferramentas:

masterha_check_ssh : exame de saúde configuração SSH de MHA

masterha_check_repl : Verifique o status da replicação do MySQL

masterha_manger : Iniciar MHA

masterha_check_status : MHA detectar o estado de funcionamento actual

masterha_master_monitor : detectar se o mestre é baixo

masterha_master_switch : controlo failover (automática ou manual)

masterha_conf_host : Adicionar ou remover as informações de configuração do servidor

Nó Kit (Estas ferramentas são geralmente desencadeada por scripts MHA Manager sem operação manual) inclui as seguintes ferramentas:

save_binary_logs : Saving e log binário cópia mestre

apply_diff_relay_logs : Evento log relé reconhecimento caso da diferença ea diferença é aplicada para o outro escravo

filter_mysqlbinlog : remover evento ROLLBACK desnecessário (MHA não usar essa ferramenta)

purge_relay_logs : relay log Clear (não bloqueia thread SQL)

configuração de compilação MHA

1. Baixe e instale o banco de dados de três servidores

yum -y install mysql mysql-server mysql-devel

2. Modifique o arquivo de configuração /etc/my.cnf

vim /etc/my.cnf

Nota : 3 servidores server-id Este parâmetro não pode ser o mesmo que o outro, lembre-se que você configurar o serviço para reiniciar

3. Criar um utilizador do banco de dados de login, respectivamente, são o servidor de autorização principal, para os dados de sincronização a partir do servidor para alcançar replicação mestre-escravo

mysqladmin -u raiz -h localhost -p'123456'

mysql -uroot -p123456

master:

Consulta binários e variáveis localização: mysql> SHOW MASTER STATUS;

Licenciamento do Servidor principal: MySQL> Grant * a * All ON 'test'@'192.168.0.%' identificado por '123456' ;.

Dois do servidor: MySQL> Change Master para MASTER_HOST = '192.168.0.101', MASTER_USER = 'Test', master_password = '123456', MASTER_LOG_FILE = 'MySQL-bin.000018', MASTER_LOG_POS = 107;

mysql> começar escravo;

Na autorização fim MHA dispostas atrás da detecção dois principais do teste a partir do servidor

mysql> GRANT ALL ON * * a 'test'@'192.168.0.%' identificado por '123456'.;

Ver condição de escravo, e testar, em seguida, se o sucesso replicação mestre-escravo

4. Defina a comunicação sem chave de encriptação

Em quatro servidores você tem que fazer três outros servidores sem comunicação chave criptográfica, de modo que cada host não pode se conectar remotamente a cada outras chaves criptográficas

MHA-manger Abaixo está um exemplo do host 192.168.0.110

keygen -t rsa-SSH (Continue pressionando Enter)

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

Cada vez que digitar a senha raiz da máquina, três outros semelhantes

Suplementares : as seguintes soluções de erro

ssh -o StrictHostKeyChecking = nenhuma 192.168.0.101

Após este problema ou pretende modificar o arquivo de configuração / etc não aparecer / ssh / ssh_config

Finalmente, adicione

não StrictHostKeyChecking

UserKnownHostsFile / dev / null

5. Instalação nó conjunto

MHA dependem do ambiente são instalados em todos os servidores, é o módulo perl (primeira necessidade de instalar EPEL fonte)

Epel baixar fonte e instalar

wget http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm ivh EPEL-libertação-6-8.noarch.rpm

Instalação do módulo dependências perl

yum install -y perl-DBD-MySQL perl-Config-minúsculo perl-Log-Dispatch perl-Parallel-ForkManager perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-CPAN

Todos (quatro) componente de servidor está instalado nó

Nota : componentes do nó dependentes gerente, CentOS7.3 deve escolher a versão 0.57

compilação de descompressão e instale o conjunto do nó

tar zxvf mha4mysql-nó 0.56.tar.gz " cd mha4mysql-node-0,56 " perl Makefile.PL " make && make install

6. O conjunto é montado sobre um hospedeiro manjedoura MHA-manjedoura

Sobre os componentes do gerenciador de instalação do compilador de host manjedoura

tar zxvf mha4mysql-manger 0.56.tar.gz " cd mha4mysql-manger-0,56 " perl Makefile.PL " make && make install

Configurando o anfitrião 7.MHA-manger MHA

Cópia do pacote extrato relevante dentro do script para / usr / local / bin diretório

cp -ra amostras / scripts / usr / local / bin /

Quando você copia os acima de comutação automática scripts de gerenciamento VIP para / usr / / bin local de diretório, onde Scripting VIP, e recomendou uma forma que o ambiente de produção não é recomendado keepalived, e, em seguida, fazer alterações

cp / usr / local / bin / scripts / master_ip_failover / usr / local / bin

vim / usr / local / bin / master_ip_failover

添加以下部分
my $ vip = '192.168.100.200/24';
my $ key = "1";
my $ ssh_start_vip = "/ sbin / ifconfig eth1: $ key $ vip";
my $ ssh_stop_vip = "/ sbin / ifconfig eth1: $ pressionada a tecla";
my $ exit_code = 0;    

Criar diretórios, copie o arquivo de configuração de um modelo usando um modificado descompactar o saco

Mkdir / etc / masterha

amostras cp / conf / app1.cnf / etc / / masterha

vim /etc/masterha/app1.cnf

8. A utilização da ferramenta de configuração de detecção de estado ligado

Teste nenhuma senha SSH, se o normal, como mostrado abaixo

 masterha_check_ssh -conf = / etc / masterha / app1.cnf

Teste mysql ligação mestre-escravo: masterha_check_repl -conf = / etc / masterha / app1.cnf

A figura abaixo mostra o sucesso

Suplementar : erro pode ocorrer Solution

★ SSH teste sem erro de senha

Verifique se cada máquina deu a chave para enviar a três outro host

★ teste determinado a partir da conexão MySQ mestre

Se todas as permissões não são dadas a atenção para três banco de dados mysql deve ser dada autorização para operar esses bancos de dados, operando permissões não são dados o suficiente, o que pouca autoridade

Preste atenção para verificar se o seu arquivo de configuração /etc/masterha/app1.cnf são inconsistentes com a autorização das configurações de usuário e senha

9. Ligue o serviço para ver o sucesso teste de sopro molhado estado

开启MHA服务: nohup masterha_manager --conf = / etc / masterha / app1.cnf --remove_dead_master_conf --ignore_last_failover </ dev / null> /var/log/masterha/app1/manager.log 2> & 1 &

--remove_dead_master_conf: Este parâmetro representa a principal ocorre quando, ip antiga biblioteca principal será removido do arquivo de configuração do switch.

--manger_log: Definir o local de armazenamento de logs

--ignore_last_failover: Por padrão, o tempo de inatividade se o MHA é detectado ocorre de forma contínua, e o tempo de inatividade dois espaçados menos do que 8 horas, seguida de Failover não proceder, a razão para esta limitação é evitar o efeito de pingue-pongue. Este parâmetro é ignorado último arquivo em nome da geração gatilho MHA, por padrão, irá ocorrer após o diretório de registro de comutação MHA, que é ajustado acima do app1.failover.complete arquivo de log, da próxima vez novamente para mudar se o diretório constatada o arquivo não vai permitir a presença de gatilho a menos que receba após a primeira opção para excluir o arquivo, por conveniência, aqui está definido para -ignore_last_failover

Verifique se um estado de sucesso: masterha_check_status --conf = / etc / masterha / app1.cnf

Fechar fora do principal teste para ver se o servidor é movido para o servidor mestre de espera (ver logs de consulta de status)

/var/log/masterha/app1/manager.log gato

Descrição experimento foi um sucesso

Publicado 37 artigos originais · ganhou elogios 6 · vê 10000 +

Acho que você gosta

Origin blog.csdn.net/feili12138/article/details/104824657
Recomendado
Clasificación