Você está na página 1de 1

Replicao de dados no MySQL

O objetivo de um mecanismo de replicao de dados permitir a manuteno de de vrias cpias idnticas de um mesmo dado em vrios servidores de banco de dados (SGBD). Os principais benefcios da replicao de dados a redundncia, o que torna o sistema menos sensvel as falhas, a possibilidade de um balanceamento de carga do sistema, j que o acesso pode ser distribudos entre as rplicas, e finalmente, ter-se um backup online dos dados, j que todos as replicas estariam sincronizadas. Este artigo, apresenta uma introduo ao mecanismo de replicao do MySQL, bem como as configuraes bsicas do SGBD para a realizao desta tarefa. O MySQL permite um tipo de replicao conhecido como Master-Slave, neste caso temos um servidor MySQL atuando como Master e um ou mais servidores MySQL atuando como Slaves. O servidor Master grava em um log binrio de alteraes todos os comandos de atualizao da base de dados. Os slaves por sua vez se conectam ao master, lem o arquivo de log binrio e executam os comandos encontrados neste log. Desta forma, todas as alteraes ocorridas no master so imediatamente replicadas para os outros servidores slave. A replicao Master-Slave um processo assncrono, isto , poder existir um atraso de informaes entre o master e os slaves dependendo do meio de comunicao entre eles. Alm disto, como os slaves copiam as alteraes do master, todas as modificaes dos dados devem ser aplicadas ao master, caso contrrio os servidores ficaro sem sincronismo. Este processo incremental com a execuo de todas as alteraes indicadas no log binrio a partir de um determinado momento, no garante que os dados existentes antes do incio da replicao eram idnticos. Neste caso, antes de iniciar a replicao preciso sincronizar todos os servidores, colocando em todos eles uma cpia da base de dados a ser replicada. Para configurar a replicao cada servidor MySQL dever possuir um server-id nico e o master deve estar com o log binrio habilitado. Alm disto, crie um usurio no master com o privilgio FILE (3.23.x) ou REPLICATION SLAVE (4.x ou superior), para que os slaves possam se conectar a este servidor e fazer a leitura do seu log binrio. Nos slaves preciso indicar o endereo do servidos master e o usurio que ser utilizado para fazer a conexo. A seguir esta um exemplo de configurao do master e slave: Master my.cnf [mysqld] ... server-id=1 log-bin ... Slave my.cnf [mysqld] ... server-id=2 # IP ou DNS da mquina master master-host=master.com.br master-user=user_replication master-password=senha_usuario master-port=3306

Uma vez configurado os servidores, coloque a imagem dos dados a serem replicados em cada um dos servidores e reinicie o MySQL em todos os hosts. Depois disto a replicao estar funcionando. Para verificar o sucesso da configurao execute os comandos SHOW MASTER STATUS e SHOW SLAVE STATUS, respectivamente nos servidores master e slaves.