Documente Academic
Documente Profesional
Documente Cultură
Neste artigo, vou mostrar como criar uma replicao de servidores MySQL. Vale lembrar que replicao no uma forma de backup, pois caso algo d errado no banco de dados principal, o mesmo ser clonado nos escravos. Fiz tudo baseado no CentOS 6.0 e testado entre duas mquinas virtuais. Vamos partir do pressuposto de que o MySQL esteja instalado em ambas as mquinas. Lembre-se, tambm, de habilitar no firewall a comunicao entre os servidores. Vamos assumir o seguinte fato:
Master Server: 10.1.100.1; Slave Server: 10.2.200.2; MySQL Data path: /var/lib/mysql; MySQL slave user named slave_user.
Repita o procedimento de reinicio do servidor igual no master. Ento, vamos criar um usurio no servidor master que ter autoridade para enviar a replicao do banco de dados:
$ mysql -u root -p mysql> STOP SLAVE;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'slave_password'; mysql> FLUSH PRIVILEGES;
Feito isso, vamos testar se a replicao funciona desse ponto de partida. Pegaremos a localizao de onde a replicao deve comear:
mysql> USE Any_database_name; mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 451228 | | | +------------------+----------+--------------+------------------+ 1 row IN SET (0.00 sec)
Agora, vamos fazer um dump no servidor master e inseri-lo no servidor slave, para depois fazer outro dump.
mysqldump -u root --all-databases --single-transaction --master-data=1 > ~/db.sql