Clipper On Line • Ver Tópico - Replicação em MySql

Replicação em MySql

Discussão sobre SQL

Moderador: Moderadores

 

Replicação em MySql

Mensagempor janio » 10 Fev 2015 08:12

Olá a todos,

Alguém usa com sucesso REPLICAÇÃO ou ESPELHAMENTO em Mysql?

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Replicação em MySql

Mensagempor janio » 06 Mar 2015 14:32

A replicação em MySql eh um recurso fantástico! Td que é feito no servidor principal, imediatamente vai para o servidor reserva!

E a configuração para desfrutar dessa maravilha... é mínima!

Segue exemplo de Replicação entre Master-Slave:
# OBSERVAÇÃO: Caso a sua instalação do MySql não exista o arquivo my.ini, basta criá-lo e colocá-lo em c:\Windows que o MySql passará lê-lo ao iniciar.

# Parar mysql
# Editar o arquivo my.ini

# Exemplo do my.ini no servidor master

[Mysqld]
server-id = 1
log-bin=mysql-bin
innodb_flush_log_at_trx_commit=1
sync_binlog=1

# Exemplo do my.ini no servidor slave

[Mysqld]
server-id = 2
master-host = ip do servidor master
master-user = usuario (com poderes para replicação)
master-password = senha
master-port = 3306
master-connect-retry = 60

# Reinicie o MySQL nos dois servidores:
# No servidor SLAVE, entrar no mysql pelo prompt e executar o comando: mysql> start slave; (este comando deve ser executado apenas no servidor slave). Neste momento a replicação deve ter iniciado.
# Ainda no servidor slave, executar o comando: mysql> show slave status \G;
# Verifique os parâmetros Slave_IO_Running e Slave_SQL_Running. Ambos devem estar com o valor “YES”. Caso não esteja, refaça o processo.
# Fazer alterações na base do servidor MASTER e verificar se a mudança foi replicada para o outro servidor.

# observacao IMPORTANTE: a replicacao so eh feita se os dois servidores estiverem com a mesma base de dados
# se nao estiverem sicronizados, a replicacao nao acontece!

##
## FIM
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Replicação em MySql

Mensagempor alxsts » 06 Mar 2015 15:30

Olá!

Obrigado por compartilhar.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Replicação em MySql

Mensagempor JoséQuintas » 16 Mar 2015 14:49

Lembro quando pesquisei isso, que dizia algo sobre fazer uma cópia do master para o slave como ponto de partida.
Acho que isso é o que significa a última observação desse arquivo.

No meu caso, no cliente tem uma determinada base de dados, e no meu servidor tem todas.
Lembro de algo sobre isso na replicação, seria interessante também se fosse possível.
Até mesmo pra sincronizar matriz/filiais.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Replicação em MySql

Mensagempor fladimir » 16 Mar 2015 21:49

Replicação não seria uma coisa e Master/Slave outra?

No meu ponto de vista (não sei se são diferentes) mas a melhor configuração para Matriz e Filiais via SGBD seria o seguinte:

Cada empresa tem um Servidor rodando seu Banco MySQL compartilhando informações com outros servidores das outras empresas do grupo, mas em caso de queda da net 1 não depende do outro...

...Vou falar de 1 exemplo prático q vi, mas não conheço a fundo os detalhes somente por cima pelo q conversei na época uns 5 anos atrás com um conhecido q trabalhava nas empresas.

No caso do exemplo prático são 3 empresas e não tem digamos assim 1 Matriz e Filiais, são 3 empresas teoricamente independentes q compram 1 pra cada empresa e fazem vendas separadamente, porém os clientes são comuns e os produtos tb (a nível de cadastro), cada empresa tem seu contas a receber, e contas a pagar etc.

Ai o q ocorre...

Cada servidor se comunica com o outro via Net fazendo Sincronização Master/Slave, enviando dados e recebendo dados, resultado q eles tem lá

Clientes ao cadastrar em 1 esta em todas (ele não falou mas acredito q sejam faixas de códigos por empresas pra não conflitar)
Produtos ao cadastrar em 1 esta em todas (mesma lógica acima talvez)
Estoques são separados, porém 1 empresa visualiza o estoque das outras (acredito q aki sejam bancos separados em 1 mesmo server MySQL)
Contas a Receber, não sei como funciona
Contas a Pagar, cada empresa tem o seu.
Movimentação, cada empresa tem a sua, porém 1 empresa ve o movimento das outras. (talvez mesma lógica do estoque)

Se a Net cai ou algo do tipo, as empresas ficam rodando normalmente e qdo voltar sincronizam/atualizam os dados

A grosso modo é isso q o meu colega passou na época, mas posso estar esquecendo de algo...

Agora sinceramente o q eu achei legal, não sei se é replicação ou master/slave ou se outra coisa, mas o fato de rodarem localmente e ao mesmo tempo compartilhando informações via Net e em caso de pane da net não afeta e depois qdo volta se atualiza.

Isso no meu ponto de vista traz segurança, velocidade, praticidade (ver as informações das outras empresas)

Eu queria saber (se necessário abrimos outro tópico pra não fugir) se o assunto em questão aki pode ser demonstrado na prática via Replicação ou Master/Slave (não sei se são diferentes, repito), mas pra ter um resultado prático em um ambiente com várias empresas, 1 cenário seria Matriz/Filiais e outro tipo o q mencionei acima, empresas de 1 mesmo dono mas com vidas independentes até certo ponto e compartilhando algumas informações.

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Replicação em MySql

Mensagempor janio » 16 Mar 2015 23:21

Na replicação master/slave, o q se fizer no servidor principal vai para o reserva, ok? Mas o contrário NAO eh verdadeiro. Se por um azar alguma máquina se conectar ao slave e fizer alguma mudança, essa mudança não vai para o master e o sincronismo foi pro beleléu, ou seja, f* tudo!

Porém, há uma configuração master/master! Posso fazer mudança em qq dos servidores q vai pro outro instantaneamente! Eu fiz o teste aqui e funcionou uma Blz! Essa seria a configuração ideal, no meu modo de ver, para matrizes e filiais! Cada uma tem o server, mas o q se fizer numa vai para a outra. A net caiu? Num tem problema. Pode continuar lançando q Qndo a conexão se restabelecer eles próprio se sincronizam!

Outra coisa muito legal no master/master eh vc poder fazer um 'balanceamento de carga'. Em um cliente com 100 máquinas, por exemplo, vc pode direcionar 50 pra um servidor e 50 para o outro servidor. O sincronismo eh perfeito. Mesmo conectado a servidores diferentes, todo mundo se enxerga hehehe

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Replicação em MySql

Mensagempor janio » 16 Mar 2015 23:24

Quintas,

Eh possível replicar somente um banco (dentre vários) tbm! Sim, isso eh possivel!

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Replicação em MySql

Mensagempor janio » 17 Mar 2015 20:42

Um exemplo de configuração para MASTER-MASTER seria:

# replicacao master-master
# Observacao: Apos iniciado o mysql, executar comando start slave; nos dois servidores

# Servidor 1
[Mysqld] 
server-id = 1
log-bin=mysql-bin
innodb_flush_log_at_trx_commit=1
sync_binlog=1
auto-increment-increment = 2
auto-increment-offset = 1
master-host = 192.168.2.107
master-user = usuario
master-password = senha
master-port = 3306
master-connect-retry = 60


# Servidor 2
[Mysqld] 
server-id = 2
log-bin=mysql-bin
innodb_flush_log_at_trx_commit=1
sync_binlog=1
auto-increment-increment = 2
auto-increment-offset = 2
master-host = 192.168.2.104
master-user = usuario
master-password = senha
master-port = 3306
master-connect-retry = 60
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Replicação em MySql

Mensagempor fladimir » 17 Mar 2015 21:13

mas como definimos quais bancos/tabelas serão replicadas ou obrigatoriamente é tudo?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Replicação em MySql

Mensagempor janio » 18 Mar 2015 10:00

Fonte:
http://www.douglaspasqua.com/2012/03/23 ... -no-mysql/

No exemplo de configuração acima estamos replicando somente o banco chamado base1. Caso precise replicar mais de uma base de dados, você pode inserir quantas linhas do parâmetro binlog-do-db forem necessárias:

binlog-do-db = base1
binlog-do-db = base2
binlog-do-db = base3
...

Caso você não especifique nenhum parâmetro binlog-do-db, todas as base de dados serão replicadas. Você tem também a opção de especificar o parâmetro binlog-ignore-db para ignorar quais base de dados não serão replicadas. É o processo inverso ao do parâmetro binlog-do-db:

binlog-ignore-db = mysql
binlog-ignore-db = information_schema


Outro artigo bastante completo:
http://xoops.net.br/docs/mysql/manual/ch04s11.php
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Replicação em MySql

Mensagempor fladimir » 18 Mar 2015 10:46

Vlw
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Replicação em MySql

Mensagempor rubens » 09 Abr 2015 16:22

Jânio...

Seguindo esse raciocínio aí... Teria como usar isso num esquema de supermercado?
Tipo assim, os pdvs trabalhariam independente e de tempos em tempos fariam "Sincronização" atualizando o servidor com os dados de venda, seria possível fazer isso com esse esquema aí?

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Replicação em MySql

Mensagempor Poka » 09 Abr 2015 17:26

Tenho sistema em apenas 2 mercadinhos, se por acaso o servidor der pau, ferrou.
Mercado é complicado, trabalha sábado, domingo.
Complementando o raciocínio do Rubens, para o terminal trabalhar independente, alguns arquivos são necessários, como:
clientes
tabela de produtos com os preços das vendas
contas a receber (pagar nem tanto)
no caso de der pau no servidor esses arquivos no terminal, teriam, que estar atualizadíssimos.
isto é , sempre que alterar um preço no servidor (retaguarda) atualizar todos os terminais.
Sempre que um terminal for ligado, primeiramente atualizar todos os dados do servidor.
E o recebimento de contas , com vários terminais trabalhando sem o servidor?
E se tem um produto já na prateleira para incluir, como fazer. (lembre-se que estamos com pau no servidor).

Isso poderia ser no próprio sistema mesmo.
Gostaria de saber como os colegas trabalham?

Poka.
Avatar de usuário

Poka
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 509
Data de registro: 25 Out 2004 21:26
Cidade/Estado: Leme/SP
Curtiu: 0 vez
Mens.Curtidas: 23 vezes

Replicação em MySql

Mensagempor janio » 13 Abr 2015 12:16

Eu penso que no esquema MASTER-MASTER da sim pra trabalhar com os pdv's off. Lembre-se que em qualquer maquina que houver atualização, ela joga o que mudou para os outros 'servidores'. Assim, mesmo que o servidor principal dê pau, os pdv's ficam off, mas quando o servidor principal voltar o mysql se encarregarar de mandar tudo (todas as mudanças que houve) pra ele!

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro