Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alonghinotti

Replicação de Dados Windows to Linux

Recommended Posts

Boa tarde,

 

Estou com o problema sério. Desenvolvi um sistema em VB.NET usando MYSQL para gerenciamento de uma balança rodoviária, o sistema q eu usava antes utilizava o MYSQL remoto em um servidor linux, mas quando a maquina da balança fica sem rede, se foi neh, ai o que quero fazer eh o seguinte:

 

Usar o mysql local no maquina da balança(Windows XP) replicando para o servidor(Linux Debian). O Inverso (Linux to Windows) eu consegui fazer.

 

Achei vários tutos na Net onde cheguei mais Perto de conseguir foi misturando dois tutos um que faz Replicação MySQL Master-Master :

http://marcopaulooliveira.blogspot.com/2009/03/replicacao-mysql-master-master.html

 

E outro que faz relicação Master-Master no Windows:

http://itbygirls.blogspot.com/

 

Usei o promeiro para configurar o Debian e o segundo para Configurar o Windows.

 

Conclusão:Continuou na Mesma... rsrsrs

O Que altero no Debian replica para o Windows mas o que altero no Windows não replica no Debian.

 

Segue abaixo como ficou meus arquivos my.ini e my.cnf

 

MY.INI

 


server-id = 1


master-host = ip do linux

master-user = user


master-password = pass


master-port = 3306


log-bin


binlog-do-db = bal2


log-error


log-slave-updates

relay-log=relay-log

relay-log-index=relay-log-index


relay-log-info-file=relay-log-info


sync_binlog=1


replicate-do-db= mydb


report-host= ip do windows


report-user=user

report-password=pass

report-port=3306

[mysql.server]

user=mysql

basedir="C:/Arquivos de programas/MySQL/MySQL Server 5.0/"

[mysql_safe]

err-log="C:/Arquivos de programas/MySQL/MySQL Server 5.0/data"

pid-file="C:/Arquivos de programas/MySQL/MySQL Server 5.0/data/bal2.pid"

e o MY.CNF

 

log-bin

# base de dados.
binlog-do-db=mydb

# Id que identifica o servidor. Deve ser �nico para cada server
server-id=2

# Ativa log-slave-updates . Obrigat�rio para replica��o em cadeia
log-slave-updates

# Aumente max_allowed_packet se você possui uma base de dados grande
max_allowed_packet = 10M

# Ip do server debian/master
master-host = ip do windows

# Utilizador para replica��o
master-user = user

master-password = pass

master-port = 3306

auto_increment_increment=10

auto_increment_offset=1

Com um Show Slave Status no Linux temos:

 

Slave_IO_Running: No

Slave_SQL_Running: Yes

 

Se alguem souber audar agradeço........

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma vez que os servidores tenham server_id únicos, estejam em termos, com os mesmos dados e os logs binários alinhados, basta utilizar o comando CHANGE MASTER TO para apontar que é o MASTER do servidor atual, aquele no qual você está trabalhando. Como você configurou sua replicação através do arquivo de configuração do MySQL, não pude ver o restante do comando que "alinha os logs" do servidores para que a IO_THREAD do servidor SLAVE pudesse iniciar a leitura do log binário do servidor MASTER.

 

Provavelmente, por algum motivo, a conexão entre o servidor de bancos de dados MySQL no Linux e o MySQL no Windows não foi realizada. Você poderia postar aqui o valor da primeira coluna, saída do comando SHOW SLAVE STATUS?

 

Você somente utilizou estas configurações que postou? Não fez mais nada?

 

 

http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Wagner,

 

Isso se passa no SHOW SLAVE STATUS/G; do Linux, realmente parece que não esta conseguindo conectar os Mysql do Windows.

 

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Connecting to master

Master_Host: 192.168.0.2

Master_User: silvestre

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: Alexandre-bin.000001

Read_Master_Log_Pos: 98

Relay_Log_File: mysqld-relay-bin.000008

Relay_Log_Pos: 98

Relay_Master_Log_File: Alexandre-bin.000001

Slave_IO_Running: No

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 98

Relay_Log_Space: 98

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

1 row in set (0.00 sec)

 

ERROR:

No query specified

 

Como disse anteriormente, o contrario (Linux to Windows) esta replicando normalmente.

 

Já fiz o seguinte, resetei o Master no windows, resetei o slave no linux e ja sincronizei os logs. Como não replicou nenhuma vez do Windows pro Linux, o Master_Log_File no slave (Linux) ainda está .000001 Pos. 98.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem??

 

Cara, você precisa verificar as informações que passou nas variáveis, pois, se alguma coisa estiver errada, ele fica com este STATUS de Connecting e não se conecta:

 

1-) Os servidores envolvidos precisam ter server_id únicos;

2-) Logs binários habilitados;

3-) O MASTER precisa ter um usu;ario que será utilizado pelo servidor SLAVE (com REPLICATION SLAVE de privilégio);

4-) Você precisa dizer qual ou quais bancos serão replicados ou mesmo todos (aconselho iniciar com todos);

5-) O comando CHANGE MASTER TO deverá conter os dados corretos para conexão, HOST, USER, PASSWORD e também as informações do arquivos de log e posição para início da leitura deste arquivo de log binário;

6-) Finalize as configurações com o comando START SLAVE;

 

Dúvidas? Deu certo? Não? Refaça todo o processo!

 

Happy MySQL'ing!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.