Replicação MySQL

(brunovh.df) #1

Galera …

Esse post nao tem nada a ver com scriptcase mais caso alguem tenha um Tuto legal para fazer o q eu quero vai ajudar muita gente com certeza …

Seguinte …

Tenho um servidor em Sampa e um em Manaus com Mysql 5.1 rodando em todos os 2 …

alguem tem um tutorial passo a passo de como configurar uma replicacao com Mysql …

já tentei o manual de referencia do mysql e tudo que atualizo no servidor de SP ele altera o numero da posicao do log binario dele … e esse numero tbm fica atualizado no servidor em manaus mais as informacoes que insiro, deleto ou altero lá ele nao tras …

Valeus !!!

(Raphael Godoi) #2

Olá Bruno , para fazer o processo de replicação em servidores MySql em produção utilizando a topologia Master/Slave, é necessário primeiramente gerar um dump do Master e replicá-lo ao Slave, pode ser feito da seguite maneira: pare o servidor master gere um dump, e carregue o dump no servidor slave, configure o servidor master e slave para que seja feita a replicação, neste momento os dois servidores devem estar com os mesmos objetos e informações (espelhamento), caso esteja fazendo uma replicação full, ou uma replicação de todos os objetos do servidor MySql, pois é possível fazer também replicações parciais, feito isso basta iniciar o servidor Master e em seguida o servidor Slave.

A replicação consiste basicamente da seguinte estrutura, o servidor master gera os log´s binários com todas as operações (DML, DDL e DCL executadas), o servidor slave se autentica no servidor master com as devidas permissões, e executa as operações baseadas em seu ultimo ponteiro de leitura no arquivo binário do servidor master.

Recentemente escrevi um artigo na faculdade com mais dois amigos, descrevendo passo a passo como é feita uma replicação Master/Master acredito que irá lhe ajudar muito o link para baixá-lo é: http://www.fatecandos.com/artigo.pdf
Neste artigo fizemos um projeto para garantir a alta disponibilidade das aplicações em um servidor web, utilizando a replicação Master/Master e um script que fica ao lado do servidor web, sendo utilizado pelas aplicações (Na conexão), gerenciando os processos de failover, failback e heartbeat de forma automática, garantindo uma “alta disponibilidade” dos serviços.

Obs: Se você pretende utilizar a replicação para backup aconselho a utilização da replicação utilizando a topologia Master/Slave, mas se for para garantir alta disponibilidade leia sobre cluster Mysql.

Espero ter ajudado, e boa sorte… na tarefa!
fico a disposição em meu email: raphael.fatecandos@gmail.com, para maiores informações!

(mauriciofl) #3

Amigo, criei a replicação Master/Master também. Porem tenho duas duvidas:
1 - Este processo não ocupa a rede, ou seja, fica em um loop infinito?
2 - Existe alguma forma de fazer com mais de 2 servidores sem ser por topologia Anel?

(Raphael Godoi) #4

Olá Amigo sua pergunta é bem legal, na verdade não gera um Loop não, o que existe neste caso é a inversão de pappéis, exemplo: Tenho dois servidores Mysql um é o Master e o outro é o Slave, quando um cai há a inversão de papéis, o que era Slave vira Master e começa a gerar os Log´s, a partir do ponto que parou e quando volta o outro servidor deve voltar como Slave, infelizmente a teoria é bem mais bonita do que a prática, e nesta permutação acaba havendo muitas falhas, por isso a melhorar maneira de garantir HA em banco de dados Mysql, sem duvida é a clusterização.

A replicação é muito boa repito, no caso de backup quente dos dados, mas mesmo assim deve-se tomar cuidado com o I/O gerado, em caso de muitas operações simultaneas em termos de performance tb é desconselhada a replicação.

Espero ter ajudado, um grande abraço!!!

Obs: Enquanto Slave ele não está habilitado para replicar, ou seja ele não geras os log´s, só consome.