Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Tabela de conteúdo

How-to de replicação em MySQL em 6 passos

Desenvolvido por: Rafael M. Capovilla - 1c3_m4n - iceman (a) at underlinux.com.br

Atenção estes resultados foram obtidos utilizando-se o MySQL 3.23.54 entre um Slackware 8.1 (SLAVE) kernel 2.4.20 e um RedHat 7.3 (MASTER) kernel 2.4.18 e MySQL 3.23.52. E os diretórios são os da minha máquina, pode ser que na sua seja um pouco diferente. Antes de partir para a configuração temos q se conectar no mysql que será o server e executar: NOTA: É recomendável que tanto o slave como o master tenham a mesma versão do MySQL

Passos no MASTER

[1c3_m4n@box] mysql -p
Enter password: **********
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 285 to server version: 3.23.52-log
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> GRANT FILE ON *.* TO USARIO@HOST_SLAVE IDENTIFIED BY 'SENHA';
Query OK, 0 rows affected (0.10 sec)
mysql> quit
Bye
[1c3_m4n@box]/etc/rc.d/init.d/mysqld stop
[1c3_m4n@box]cd /var/lib/mysql/minha_tabela
[1c3_m4n@box]tar -czvf minhatabela.tar.gz *

Passos no SLAVE

  1. copiar do master as tabelas compactadas (minhatabela.tar.gz) para dentro do diretorio no meu caso (/usr/local/mysql/data)
[1c3_m4n@slave]cd /usr/local/mysql/data/
[1c3_m4n@slave]./bin/mysql -p
Enter password: **********
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 285 to server version: 3.23.52-log
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> create database minhatabela;
Query OK, 1 row affected (0.00 sec)
mysql> quit
[1c3_m4n@slave]cd minhatabela
[1c3_m4n@slave]killall mysqld
[1c3_m4n@slave]tar -zxvf ../minhatabela.tar.gz

Configurações do /etc/my.cnf

3) passo SLAVE

[mysqld]
master-host=192.168.1.1 #host do servidor
master-user=rafael #usuario no servidor
master-password=1c3_m4n #senha no servidor
master-connect-retry=60 #tempo pra tentar reconectar
server-id=2 #identificacao
log-slave-updates #registra em log as atualizacoes da replicacao
log=/usr/local/mysql/data/mysql.log #diretorio de log de todas os comandos executados no mysql
[safe_mysqld]
err-log=/usr/local/mysql/data/mysql.err #log de erros

MASTER

[mysqld]
log-bin=/var/lib/mysql/binlog/mysql_bin.log #registra os logs binários as replicações
server-id=1 #identificação
binlog-do-db = minha_tabela #tabela a ser usada para replicação
#caso deseje atualizar todas as tabelas menos uma deve-se
#usar a variavel binlog-ignore-db=TABELA no lugar da binlog-do-db
log=/var/log/mysqld.log #local onde serão registrados os logs do mysql
[safe_mysqld]
err-log=/var/log/mysqld.err #log erros do mysql

Iniciando MySQL

Inicie o mysql no servidor e depois no slave;

Checando o MySQL

Vamos checar agora se o slave está funcionando corretamente:

[1c3_m4n@slave]cd /usr/local/mysql/data/
[1c3_m4n@slave]./bin/mysql -p
Enter password: **********
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 285 to server version: 3.23.52-log
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> show slave status;
Master_Host | Master_User | Master_Port | Connect_retry | Log_File | Pos | Slave_Running | Replicate_do_db | Replicate_ignore_db | Last_errno | Last_error | Skip_counter | 

192.168.1.1 | rafael | 3306 | 60 | dexter-bin.001 | 562 | Yes | | | 0 | | 0 | 
1 row in set (0.00 sec)

Se aparecer na coluna "Slave_Running" parabéns, vc conseguiu!!! caso contrário de uma olhada nos logs de erro para ver a razão disso.

Incluindo dados

Agora insira ou altere algum valor no master e veja se também foi replicado para o slave

7) Para ver os logs binários de replicação vc vai ter que se conectar ao servidor master e executar:

[1c3_m4n@box]mysqlbinlog /var/lib/mysql/binlog/LOG_BINARIO
Horários baseados na GMT -3. Agora são 8:00.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.