Click here to load reader
Upload
trinhquynh
View
212
Download
0
Embed Size (px)
Citation preview
1
---------------------------- # Início Instalação e Configuração MySQL Server – Replicando Servidores # ----------------------------
MySQL Server é um excelente banco de dados open source, e pode ser adquirido a partir do repositório web
do desenvolvedor:
http://dev.mysql.com/downloads/mysql/5.0.html#win32
Instalando o MySQL Server 5.0
2
3
4
5
O ideal é instalar o MySQL como um
serviço do Windows.
Caso tenha problemas, o comando mysqld
pode instalá-lo manualmente. A sintax está
disponível no arquivo C:\Program
Files\MySQL\MySQL Server 5.0\my.ini
6
Siga o procedimento de instalação acima para ambos os servidores que replicaram os serviços.
Doravante o primeiro servidor será identificado como Mestre e o secundário como Escravo.
Se preferir não informe nenhuma senha.
Nota: Tive problemas em instalações
anteriores por causa de inserir senhas.
7
Preparando a Máquina Mestre O primeiro passo é fazer um dump da(s) base(s) de dados que queremos replicar. Isso serve para criarmos
uma cópia exata do nosso banco de dados para colocarmos no servidor Escravo.
Para fazer um dump da base de dados use:
# mysqldump --database <nome_do_db> -u root –p > c:\meu_db.sql
ou
# mysqldump --all-database -u root –p > c:\meu_mysql.sql
De posse do(s) arquivo(s) SQL do dump da máquina Mestre, temos de criar o usuário que fará a replicação
entre as duas máquinas.
Logue-se como root (ou outro usuário com direitos) no mysql:
Execute os comando abaixo para garantir o direito de cópia para o usuário replica:
mysql> grant file, super, replication client, replication slave, reload on *.* to ‘replica’@’%’ identified by
‘replica’;
mysql> flush privileges;
Na seção [mysqld] do arquivo de inicialização my.ini do MySQL (Servidor Mestre) insira as opções:
Reiniciado o servidor Mestre (ou ao menos os serviços) digite o comando abaixo no prompt do mysql:
mysql> reset master;
mysql> flush privileges;
Use o comando abaixo para verificar a replicação no Servidor Master:
mysql> show master status;
Preparando a Máquina Escravo
Antes de qualquer passo é necessário restabelecer as bases de dados do Servidor Mestre no Servidor Escravo
através dos dumps efetuados anteriormente.
Nota: As linhas ao lado servem para iniciar o log binário do mysql
e um número único para o servidor.
Salve o arquivo my.ini e reinicie o servidor mestre ( reiniciar
somente o serviço do Mysql é suficiente)
8
Use o comando abaixo para reestabelecer os dumps de backup:
C:\mysql -u root -p ocsweb < c:\ocsweb.sql
Na seção [mysqld] do arquivo de inicialização my.ini do MySQL (Servidor Escravo) insira as opções:
No mysql do Servidor Escravo digite:
mysql> grant file, super, replication client, replication slave, reload on *.* to ‘replica’@’%’ identified by
‘replica’;
mysql> stop slave;
mysql> reset slave;
mysql> flush privileges;
Reinicie o Servidor Escravo. Com isso, as
configurações de replicação estão encerradas.
Se tiver problemas na ativação do serviço do Mysql, use o comando abaixo:
C:\mysqld-nt --defaults-file=”C:\Caminho_do_arquivo_my.ini” ou só o comando mysqld-nt.exe
Use o comando abaixo para verificar se a replicação está ok no Servidor Escravo:
mysql> show slave status;
Para permitir acesso remoto a partir de uma máquina da rede ao Servidor MySQL use:
mysql>grant all privileges on *.* to root@ip_remoto9 identified by”senha”;
mysql>flush privileges;
Nota: Atenção para a linha server-id=2. Repare que aqui no
escravo usamos o numero 2 e no mestre usamos o número 1. Se
tivessemos uma terceira máquina replicando dados, ela deveria ser
a server-id=3. Estes números não devem se repetir e são usados
pelo MySQL se orientar entre as replicações. Os parâmetros
master-user e master-password são as mesmas das configurações
feitas no Mestre, neste caso replica e replica. O último parâmetro é
o comando replicate-do-db. Esse parâmetro serve para especificar
qual a base de dados que queremos replicar. Se tivermos mais bases
de dados sendo replicadas, devemos inclui-las da seguinte forma:
replicate-do-db = minha_database1 Ou, caso aconteça de não querer apenas uma base de dados e sim,
todas, apenas especifique a linha replicate-do-db = e o MySQL
entenderá que todas as bases devem ser replicadas.
Nota: Repare que na saída do comando será mostrado uma coluna
chamada “Slave Running”, cujo conteúdo deve ser “yes”.
Caso haja algum problema, verifique as permissões da conta
replica. Ela é geralmente culpada pela maioria dos problemas de
replicação. Outra fonte de informação interessante é o log de erro
do MySQL, localizado no linux geralmente no diretório
/var/lib/mysql e no windows no diretório onde ele foi instalado.
Caso voce tenha configurado um endereço IP incorretamente, o
escravo obviamente não conseguirá se conectar ao mestre. Para
consertar o problema, voce deve reconfigurar o arquivo my.cnf ou
my.ini com o IP correto e reiniciar o escravo.
Nota: Lembrando que para a replicação funcionar, se não for
utilizado o processo de restore dos dumps, devem ser criadas as
bases de dados (no master e no slave), assim como as tabelas, pois
a replicação é só dos dados.
9
Testando o acesso remoto:
# mysql –h ip_remoto -u root -p
---------------------------- # Fim Instalação e Configuração MySQL Server – Replicando Servidores # ----------------------------