SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
1.
MySQL - Melhores práticas de
replicação de dados
2.
Marcelo Altmann
Técnologo em Sistemas para Internet
MySQL DBA @ IEDR
Blogueiro
blog.marceloaltmann.com
imasters.com.br/secao/banco-de-dados/mysql/
Oracle Certified Professional , MySQL 5 Database Administrator
Oracle Certified Professional , MySQL 5 Developer
3.
Agenda
> Topologias
> Como Funciona ?
> Formatos de logs
> Métodos de sincronia
> Crash safe
> SSL
> GTID
> Heartbeat
> Checksum
> Variáveis / Dicas importantes
> Monitoramento
17.
Formatos de logs - STATEMENT
● binlog_format = STATEMENT
● Formato padrão até a versão 5.7.6
✓ Formato consolidado, existe desde a versão 3.23
✓ Requer pouco espaço para armazenamento
✓ Fácil leitura (mysqlbinlog)
× Pode gerar inconsistencia de dados (queries não determinísticas) - https://goo.gl/cpDd0h
× Requer mais processamento
× Requer mais locking
19.
Formatos de logs - ROW
● binlog_format = ROW
● binlog_rows_query_log_events (> 5.6.2 )
● binlog_row_image=minimal
● Formato padrão desde a versão 5.7.7
✓ Requer menos locking
✓ Utiliza menos processamento
✓ Todas as queries podem ser replicadas, maneira mais segura de replicação
× Requer mais espaço em disco / capacidade de rede
24.
Métodos de sincronia - semisynchronous
● Diponível a partir da versão 5.5
● MASTER:
○ INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
○ rpl_semi_sync_master_enabled = 1
○ rpl_semi_sync_master_timeout = N - - padrão 10 segundos
● SLAVE:
○ INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
○ rpl_semi_sync_slave_enabled = 1
✓ Menor risco de perda de dados
× Commit é mais demorado