PHP/MySQL Quiz da sitepoint

Posted on maio 10, 2012. Filed under: MySQL, PHP | Tags:, , |

Faça o quiz de PHP e MySQL da sitepoint e descubra qual seu nível de conhecimento nessas duas tecnologias. Achei o teste muito bem elaborado, podendo ajudar na avaliação de profissionais.

É também uma ótima oportunidade para descobrir seu nível e em quais assuntos deve aprofundar seus estudos. A sugestão do livro da sitepoint com certeza é uma boa dica. Livros da sitepoint são sempre referência pela qualidade apresentada em seus conteúdos.

No final do teste é gerado um certificado avaliando o seu desempenho, além das questões que você errou. Segue abaixo meu certificado: 😉 Espero que dedique um tempo neste quiz, vale a pena. Boa sorte no seu teste!

Ler Post Completo | Make a Comment ( None so far )

Replicação Master-Master no MySQL

Posted on março 23, 2012. Filed under: Linux, MySQL | Tags:, , , |

Introdução

Neste artigo vamos demonstrar como configurar replicação Master-Master entre dois servidores MySQL. Este tipo de replicação normalmente é usado em um sistema de failover/cluster.

Preparando

O primeiro passo é sincronizar os bancos de dados, utilizados na replicação, entre os dois servidores do MySQL. Podemos usar o mysqldump nesta tarefa.

No servidor A:
# mysqldump -u root -p --databases base1 base2 > servidorA-dump.sql

No servidor B:
# mysql -u root -p < servidorA-dump.sql

Vamos assumir os seguintes endereços IPs para os servidores:

Servidor A: 192.168.0.1
Servidor B: 192.168.0.2

Configurando Permissões de Usuário

O processo de replicação do MySQL exige uma conexão ativa entre os dois servidores em ambos os lados. É preciso definir um usuário/senha para essa conexão.

No servidor A:
GRANT ALL PRIVILEGES ON *.* TO replicacao@192.168.0.2 IDENTIFIED BY 'repl123' WITH GRANT OPTION;

No servidor B:
GRANT ALL PRIVILEGES ON *.* TO replicacao@192.168.0.1 IDENTIFIED BY 'repl123' WITH GRANT OPTION;

Perceba que setamos os pervilégios do usuário replicacao para todos os bancos de dados no MySQL. Porém você pode definir somente as bases que serão incluídas na replicação ao invés de incluir todas bases.

Configurando o MySQL

As configurações abaixo devem ser incluídas na seção [mysqld] do my.cnf

Servidor A:

server-id = 1
auto-increment-increment = 2
auto-increment-offset = 1

log-bin
binlog-do-db = base1

master-host = 192.168.0.2
master-user = replicacao
master-password = repl123
master-port = 3306
master-connect-retry = 60

Servidor B:

server-id = 2
auto-increment-increment = 2
auto-increment-offset = 2

log-bin
binlog-do-db = base1

master-host = 192.168.0.1
master-user = replicacao
master-password = repl123
master-port = 3306
master-connect-retry = 60

A definição dos parâmetros auto-increment-increment e auto-increment-offset evitam colisão entre campos auto_increment. Mantenha o mesmo valor no campo auto-increment-increment para os dois servidores. O campo auto-increment-offset mantenha sequencialmente entre os servidores. No caso, 1 e 2.

O campo server-id também deve ser único entre os dois servidores. No caso, 1 e 2.

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

Iniciando a replicação

Reinicie o MySQL nos dois serviores:
# /etc/init.d/mysql restart

Neste momento a replicação deve ter iniciado. Se por algum motivo não tiver sido iniciado (Verificar erro no arquivo de log do mysql). Entre nos dois servidores e execute o comando:

mysql> start slave

Testando

Entre no MySQL nos dois servidores e execute 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.

Outro teste importante, é fazer alterações na base de um servidor e verificar se a mudança foi replicada para o outro servidor e vice-cversa.

Conclusão

Configurar uma replicação master-master no mysql é relativamente simples conforme demonstrado neste artigo. Outros ambientes de replicação também não são complicados. Com poucos ajustes na configuração acima você consegue adicionar mais que 2 servidores na replicação de master para master. Espero que tenha ajudado. Obrigado.

Ler Post Completo | Make a Comment ( 13 so far )

Liked it here?
Why not try sites on the blogroll...

%d blogueiros gostam disto: