Caio, eu jah fiz essa configuracao.
quando tu tem uma estrutura master master tu tem que cuidar tbm com o
auto-increment tens que dizer para o mysql criar os indices de 2 em 2 e
dizer que teu server eh o par ou impart
basicamente no server 1 tens que adicionar
auto_increment_increment = 2 # criar de 2 em 2
auto_increment_offset = 1 # comecando por 1, sendo assim 1,3,5,7
no server 2 tem que colocar:
auto_increment_increment = 2 # criar de 2 em 2
auto_increment_offset = 2 # comecando por 2, sendo assim 2,4,6
Quanto ao erro dos servers ID's o que pode ter acontecido, eh voce ter
iniciado os 2 masters com o mesmo ID, ter rodado algum comando que
altere data e isso tenha sido replicado para o outro servidor, mesmo se
tu acertar os ID's dos servers, o comando antigo ainda esta com o ID
antigo, nesse caso temos duas opcoes:
1. reconfigurar a replicacao apagando os logs antigos
2. ajustar em cada server a posicao do relay log
Grato.
Marcelo Altmann
On 29/10/12 22:01, Caio Ferreira wrote:
Prezado Rodolfo
Executei o comando "find -name *.cnf" e tive como resultado o seguinte
$ sudo find -name *.cnf
./etc/mysql/debian.cnf
./etc/mysql/my.cnf
./etc/mysql/conf.d/mysqld_safe_syslog.cnf
./usr/share/doc/mysql-server-5.1/examples/my-small.cnf
Pelo visto, no diretório /etc/mysql existem dois arquivos de
configuração, debian.cnf e my.cnf. Executei o aplicativo lsof mais
infelizmente não consegui identificar qual arquivo o mysql esta
utilizando.
Olhando o arquivo "/etc/init.d/mysql" encontrei a seguinte informação.
CONF=/etc/mysql/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
Aparentemente o mysql utiliza o arquivo my.cnf pois no mesmo arquivo
de configuração tem o seguinte
## Do some sanity checks before even trying to start mysqld.
sanity_checks() {
# check for config file
if [ ! -r /etc/mysql/my.cnf ]; then
log_warning_msg "$0: WARNING: /etc/mysql/my.cnf cannot be read.
See README.Debian.gz"
echo "WARNING: /etc/mysql/my.cnf cannot be read.
See README.Debian.gz" | $ERR_LOGGER
fi
Alguma idéia?
Desde já agradeço pela ajuda.
Caio Abreu Ferreira
2012/10/23 Rodolfo <rof20...@gmail.com>:
Deve ser porque ele deve esta se referindo a outro arquivo de configuracao,
onde os servers estao com o mesmo ID. Procure por outros arquivos de
configuracao.
Uma forma de voce pegar os arquivos abertos no momento é com lsof, ele lista
todos os arquivos abertos.
O que voce pode fazer é executa-lo e depois executar o mysql, quando der
esse erro o arquivo que ele esta referenciando provavelmente sera mostrado.
Abraços.
2012/10/23 Caio Ferreira <abreuf...@gmail.com>
Lista
Por acaso alguém na lista já construiu uma estrutura master<>master de
replicação de dados no MySQL? Estou seguindo um tutorial do
HowtoForge[1] e o primeiro erro que esta aparecendo é o seguinte.
- mensagem de erro do servidor db1 (192.168.0.3)
$ sudo cat /var/log/syslog
Oct 23 16:34:51 db1 mysqld: 121023 16:34:51 [ERROR] Slave I/O: Fatal
error: The slave I/O thread stops because master and slave have equal
MySQL server ids; these ids must be different for replication to work
(or the --replicate-same-server-id option must be used on slave but
this does not always make sense; please check the manual before using
it). Error_code: 1593
O problema é que o parâmetro no arquivo /etc/mysql/my.cnf do servidor
db1 esta assim "server-id = 1" e no db2 esta "server-id = 2".
Resumindo, os servers ids estão diferentes. Alguém por acaso teria
alguma ideia do que eu possa esta fazendo de errado?
1-http://www.howtoforge.com/mysql5_master_master_replication_debian_etch
--
.''`. Caio Abreu Ferreira