Replicação em duas vias
Boa tarde a todos.
Tenho a seguinte situação:
Tenho duas máquinas, M100 e M200, com ips distintos, mas com o mesmo banco de dados mysql.
Se eu gravar algum registro em M100, automaticamente, replico para M200.
Se eu gravar algum registro em M200, automaticamente, replico para M100.
Gostaria de saber se há a possibilidade de uma máquina ser MASTER e SLAVE ao mesmo tempo no mysql 4.0.22 ?
Grato pela atenção.
Tenho a seguinte situação:
Tenho duas máquinas, M100 e M200, com ips distintos, mas com o mesmo banco de dados mysql.
Se eu gravar algum registro em M100, automaticamente, replico para M200.
Se eu gravar algum registro em M200, automaticamente, replico para M100.
Gostaria de saber se há a possibilidade de uma máquina ser MASTER e SLAVE ao mesmo tempo no mysql 4.0.22 ?
Grato pela atenção.
Turbo Drive
Curtidas 0
Respostas
Turbo Drive
07/05/2007
Depois de muito penar na net, descobri que a replicação em ´duas vias´, só é possível no mysql 5.0.22 acima.
Mas ainda há um pequeno detalhe. Ainda não estou conseguindo replicar, pois no log está aparecendo a seguinte mensagem:
070509 9:23:16 [ERROR] Fatal error: Can´t open and lock privilege tables: Table ´mysql.servers´ doesn´t exist
Como e onde posso encontrar a configuração dessa tabela ?
Grato pela atenção.
Mas ainda há um pequeno detalhe. Ainda não estou conseguindo replicar, pois no log está aparecendo a seguinte mensagem:
070509 9:23:16 [ERROR] Fatal error: Can´t open and lock privilege tables: Table ´mysql.servers´ doesn´t exist
Como e onde posso encontrar a configuração dessa tabela ?
Grato pela atenção.
GOSTEI 0
Turbo Drive
07/05/2007
Aê galera depois de penar muito mais, descobri o que estava de errado. Para se efetuar a replicação Master-Master, é necessário instalar uma versão que possui as variáveis auto_increment_increment e auto_increment_offset. Pois com elas vc pode evitar o erro ´Duplicate entry key´.
Ao efetuar os comandos, create, insert, alter, update, etc..., vc não pode utilizar juntamente com o database.
EX:
insert into database.table (assim não replica)
insert into table (assim replica)
update database.table (assim não replica)
update table (assim replica)
Configuração Master-Master
log-bin = Turbo
auto_increment_increment = 10
auto_increment_offset = 2
master-host = 192.168.0.9
master-user = outro
master-password = 123
master-port = 3306
master-connect-retry=60
relay-log = SGA
server-id = 5
replicate-do-db = MeuDB
binlog-do-db = MeuDB
log-slave-updates
log = comandos.log
OBS: Todos os campos acima precisam ser diferentes em cada Master, com exceção de:
master-user = outro
master-password = 123
master-port = 3306
master-connect-retry=60
replicate-do-db = MeuDB
binlog-do-db = MeuDB
Até mais galera
Ao efetuar os comandos, create, insert, alter, update, etc..., vc não pode utilizar juntamente com o database.
EX:
insert into database.table (assim não replica)
insert into table (assim replica)
update database.table (assim não replica)
update table (assim replica)
Configuração Master-Master
log-bin = Turbo
auto_increment_increment = 10
auto_increment_offset = 2
master-host = 192.168.0.9
master-user = outro
master-password = 123
master-port = 3306
master-connect-retry=60
relay-log = SGA
server-id = 5
replicate-do-db = MeuDB
binlog-do-db = MeuDB
log-slave-updates
log = comandos.log
OBS: Todos os campos acima precisam ser diferentes em cada Master, com exceção de:
master-user = outro
master-password = 123
master-port = 3306
master-connect-retry=60
replicate-do-db = MeuDB
binlog-do-db = MeuDB
Até mais galera
GOSTEI 0