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