Business Intelligence & Business Analytics Blog

Usando o replication master-slave no MySQL

Agora, vamos editar no servidor slave o arquivo /etc/my.cnf:

# [mysqld] section
datadir = /var/lib/mysql
server-id = 2
relay-log = /var/lib/mysql/mysql-relay-bin
relay-log-index = /var/lib/mysql/mysql-relay-bin.index
log-error = /var/lib/mysql/var/mysql.err
master-info-file = /var/lib/mysql/mysql-master.info
relay-log-info-file = /var/lib/mysql/mysql-relay-log.info

Repita o procedimento de reinicio do servidor igual no master. Então, vamos criar um usuário no servidor master que terá autoridade para enviar a replicação 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 replicação funciona desse ponto de partida. Pegaremos a localização de onde a replicação deve começar:

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

Enviando para o slave:

scp root@10.1.100.1:~/db.sql root@10.2.200.2:~/db.sql

Inserindo o dump no slave:

$ mysql -u root -p < ~/db.sql

Ativando a replicação no slave:

mysql> CHANGE MASTER TO MASTER_HOST='10.1.100.1', MASTER_USER='slave_user', MASTER_PASSWORD='slave_password', 
 MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=451228;
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G;

Agora, você precisa fazer os testes e conferir se a replicação funciona!

imasters.com.br

Comments powered by CComment