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ê só precisa fazer os testes e conferir se a replicação funciona!
Comments powered by CComment