Top Banner
Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 30 de Julho de 2016 no Hotel Blue Tree Morumbi, São Paulo - SP ALTA DISPONIBILIDADE NO MySQL 5.7 Airton Lastori
79

Alta disponibilidade no MySQL 5.7 GUOB 2016

Jan 22, 2018

Download

Technology

MySQL Brasil
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

30 de Julho de 2016 no Hotel Blue Tree Morumbi, São Paulo - SP

ALTA DISPONIBILIDADE NO MySQL 5.7 Airton Lastori

Page 2: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

DBA Dev Gerencial, Usuário

ou Professor

Quem?

Page 3: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Não usa MySQL Usa MySQL sem

HA Usa MySQL com

HA

Quem?

Page 4: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Agenda

1. Alta disponibilidade (HA) – conceitos básicos

2. Arquiteturas e topologias de HA para MySQL

3. Monitoramento e gerenciamento

Page 5: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Agenda

1. Alta disponibilidade (HA) – conceitos básicos

2. Arquiteturas e topologias de HA para MySQL

3. Monitoramento e gerenciamento

Page 6: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 7

O chefe

Page 7: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 8

O Desenvolvedor

Page 8: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 9

O DBA

Page 9: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

“Precisamos garantir que a nossa aplicação não pare nunca! Nosso cliente não pode esperar. Perderemos dinheiro e nossa marca ficará prejudicada.”

10

Page 10: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

“Vamos comprar um NoBreak para o Servidor e está tudo certo!”

11

Page 11: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

...

12

Page 12: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

“Quanto % do tempo o sistema deve ficar no ar?”

13

Page 13: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

“100%, é claro!”

14

Page 14: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

“Desculpe desapontá-lo, mas disponibilidade infinita não existe. Pense em serviços como abastecimento de água ou energia elétrica... Há necessidade de ter redundância e contingência dos equipamentos e processos+ferramentas para a operação”

15

Page 15: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

“Chefe, na verdade precisamos de mais 1 servidor para aplicação. É só instalar

uma cópia da aplicação nele e estamos bem. Teremos nosso Cluster!”

16

Page 16: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

“Na camada de banco não é tão simples assim...”

17

Page 17: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 18

Xiii... Lá vem esse cara complicar...

Page 18: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Standalone

Clusterizado

19

Problemas diferentes

Page 20: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Etapas típicas de um projeto de HA

1. Definir qual o tempo máximo de indisponibilidade e perdas aceitáveis

2. Revisar todos intens da infra-estrutura atual que terão contingência (mapear SPoF)

3. Definir a melhor arquitetura e topologia de HA para este contexto

4. Implantar a redundância dos componentes

5. Implantar monitoramento (instrumentação)

6. Implantar procedimentos operacionais para contingência

21

Page 21: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Etapas típicas de um projeto de HA

1. Definir qual o tempo máximo aceitável de uma indisponibilidade

2. Revisar todos intens da infra-estrutura atual que terão contingência (mapear SPoF)

3. Definir a melhor arquitetura e topologia de HA para este contexto

4. Implantar a redundância dos componentes

5. Implantar monitoramento (instrumentação)

6. Implantar procedimentos operacionais para contingência

22

Page 22: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Agenda

1. Alta disponibilidade (HA) – conceitos básicos

2. Arquiteturas e topologias de HA para MySQL

3. Monitoramento e gerenciamento

Page 23: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Sem alta disponibilidade

“Topologia” Stand-Alone

24

MySQL

Importante! Backup No-Break Duplicidade disco Duplicidade rede Etc.

Page 24: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Sem alta disponibilidade

“Topologia” Stand-Alone

Data Access (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connection

25

Page 25: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Sem alta disponibilidade no Banco de Dados

Topologia com redundância apenas na Aplicação

Data Access (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connections

26

Page 26: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Alta disponibilidade no modo Ativo-Passivo

Topologia com redundância via Shared Storage

Data Access (mysqld)

Data (Shared Storage/SAN)

App Servers

Database connections

27

Ativo

Passivo

Page 27: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

• Oracle Clusterware é o core do Oracle RAC

– Para MySQL, funciona no modo Ativo/Passivo

• Oracle Cluster 12c inclui o MySQL Server 5.6 agent

• Paradas programadas ou failover automático

– Transparente para a aplicação

30/07/2016

MySQL Enterprise Edition + Oracle Clusterware

28

Page 28: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Alta disponibilidade com possibilidade do uso do Slave para outras atividades

Topologia com Replicação Simples (Master-Slave)

29

Master Read-write

Slave Read-only

Replicação nativa do MySQL Escrita

Leitura

Page 29: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Alta disponibilidade com possibilidade do uso do Slave para outras atividades

Topologia com redundância via Replicação Master-Slave

Slave read-only (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connections

30

Read-write

Read-only

Replicação nativa

Master read-write (mysqld)

Page 31: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

MySQL Enterprise Backup

1. Sem parar o Master, faça um hot backup

2. Restaure no Slave

3. No Slave execute CHANGE MASTER TO ...

4. Inicie o Slave

32

Crie novos Slaves online

https://dev.mysql.com/doc/mysql-enterprise-backup/4.0/en/advanced.slave.html

Page 32: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Replicação Semi-síncrona para evitar perda de dados

Topologias resilientes

33

Master Slave

ACK = Confirmação de recebimento dos pacotes

Importante! Há configurações adicionais para tornar a replicação crash-safe

Page 33: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 34

Analogia

34

Carta Simples

Carta AR

Intimação Judicial

Assíncrona sem confirmação do recebimento

Semi-síncrona confirmado recebimento, mas ainda não “processada”

Síncrona confirmado recebimento e processamento (commit)

Page 34: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Sem perda de dados e failover facilitado com replicação Semi-síncrona

Topologias resilientes com Múltiplos Slaves

35

Master Slave 1 (local) Primeira opção de failover (sempre mais atualizado)

Slave 2 (remoto) Segunda opção de failover

Page 35: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Grandes usuários MySQL usam a replicação

36

Web, Cloud, Distribuído e Embarcado…

Page 36: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Exemplos de uso da Replicação

• Redundância simples dos dados (Contingência)

• Backup

• Geo-redundância (DR)

• Dado mais próximo do cliente

• Escalabilidade de Leituras

– Dividir cargas OLTP e OLAP

– Read-write split

Page 37: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Exemplos de uso da Replicação

• Redundância simples dos dados (Contingência)

• Backup

• Geo-redundância (DR)

• Dado mais próximo do cliente

• Escalabilidade de Leituras

– Dividir cargas OLTP e OLAP

– Read-write split

Page 38: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Contingência em caso de falhas ou manutenção programada

Topologia Replicação Simples

Slave read-only (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connections

39

Read-write

Read-only

Master read-write (mysqld)

Page 39: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Contingência em caso de falhas do Master

Topologia Replicação Simples

Novo Master read-write (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connections Failover

novas rotas para as conexões com o MySQL

manual ou automático

Page 40: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Contingência em caso de falhas ou manutenção programada

Topologia Replicação Simples

Slave read-only (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connections

41

Read-write

Read-only

Master read-write (mysqld)

Page 41: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Contingência em caso de manutenção programada do Master

Topologia Replicação Simples

Temporary Master read-write (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connections

42

Read-write

Inativo

Em Manutenção replicação parada

Switchover conexões roteadas para

outro servidor durante manutenção programada

Page 42: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Componentes para Roteamento de conexões

MySQL Connectors

• Funcionalidades nativas de Failover ou Load Balancing

MySQL Router (novo )

• Middleware leve

• Roteamento baseado nas conexões

• Failover para o primeiro disponível ou Load Balancing

MySQL Utilities

• mysqlfailover – monitora a replicação, promove novo master e redireciona slaves

• MySQL Fabric – provê mapeamento da topologia para connector ou router

Page 43: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Componentes para Roteamento de conexões

MySQL Connectors

• Funcionalidades nativas de Failover ou Load Balancing

MySQL Router (novo )

• Middleware leve

• Roteamento baseado nas conexões

• Failover para o primeiro disponível ou Load Balancing

MySQL Utilities

• mysqlfailover – monitora a replicação, promove novo master e redireciona slaves

• MySQL Fabric – provê mapeamento da topologia para connector ou router

Page 44: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Não recomendado uso como Master-Master: sem resolução de conflitos

Topologia de Replicação Cruzada + MySQL Router

45

Master “read-write” (hot stand-by)

Data (Storage/HD/SDD)

App Servers

MySQL Router

Read-write

Read-only

Master read-write (ativo)

Heartbeat

Page 45: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Cuidado com Replicação Cruzada ou bi-direcional

• Este setup é bastante controverso, na maioria das vezes evitado

– Porém, tem seus usos

• Nesse caso anterior, a replicação cruzada é usada por praticidade

– permite simplificar o failover

– facilita resincronização dos dados em casos de falsos positivos, como falhas temporárias na rede

– use GTID, ROW BASED REPLICATION auto_increment_offset e auto_increment_increment para evitar problemas

• É importante monitorar e se ambos servidores estão recebendo escritas, deve-se agir rapidamente para diminuir chances de inconsistências.

46

Page 46: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Componentes para Roteamento de conexões

MySQL Connectors

• Funcionalidades nativas de Failover ou Load Balancing

MySQL Router (novo )

• Middleware leve

• Roteamento baseado nas conexões

• Failover para o primeiro disponível ou Load Balancing

MySQL Utilities

• mysqlfailover – monitora a replicação, promove novo master e redireciona slaves

• MySQL Fabric – provê mapeamento da topologia para connector ou router

Page 47: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Failover automático ou manual e automatizado para o primeiro disponível

MySQL Utilities para HA – mysqlfailover ou MySQL Fabric

Slave read-only (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connections

48

Read-write

Read-only

Master read-write (mysqld)

MySQL Utilities

Page 48: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

MySQL Utilities

shell> mysqlfailover --master=root@localhost:3331 --discover-slaves-login=root --

log=log.txt

MySQL Replication Monitor and Failover Utility

Failover Mode = auto Next Interval = Mon Mar 19 15:56:03 2012

...

Master Information

Binary Log File Position Binlog_Do_DB Binlog_Ignore_DB

mysql-bin.000001 571

GTID Executed Set

2A67DE00-2DA1-11E2-A711-00764F2BE90F:1-7 [...]

49

mysqlfailover

dev.mysql.com/doc/mysql-utilities/1.6/en/mysqlfailover.html

Page 49: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

MySQL Utilities

Replication Health Status

+------------+-------+---------+--------+------------+---------+

| host | port | role | state | gtid_mode | health |

+------------+-------+---------+--------+------------+---------+

| localhost | 3331 | MASTER | UP | ON | OK |

| localhost | 3332 | SLAVE | UP | ON | OK |

| localhost | 3333 | SLAVE | UP | ON | OK |

| localhost | 3334 | SLAVE | UP | ON | OK |

+------------+-------+---------+--------+------------+---------+

Q-quit R-refresh H-health G-GTID Lists U-UUIDs L-log entries

50

mysqlfailover

dev.mysql.com/doc/mysql-utilities/1.6/en/mysqlfailover.html

Page 50: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Exemplos de uso da Replicação

• Redundância simples dos dados (Contingência)

• Backup

• Geo-redundância (DR)

• Dado mais próximo do cliente

• Escalabilidade de Leituras

– Dividir cargas OLTP e OLAP

– Read-write split

Page 51: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Menor tempo em backups e restores, menos downtime

MySQL Enterprise Backup

Page 52: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Backup no Slave

Topologia Replicação Simples

Slave parado (mysqld)

Data (Storage/HD/SDD)

App Servers

Database connections

53

Read-write

Inativo

Master read-write (mysqld)

Backup STOP SLAVE Cópia dos dados START SLAVE

Page 53: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Usada como solução de Backup

Topologia com Replicação Atrasada

54

Master Slave para failover/switchover

Slave com Atraso Caso típico = falha humana

Delay CHANGE MASTER TO MASTER_DELAY = N;

Page 54: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Usada em conjunto com backup para Point-In-Time-Recovery

Live Backup com mysqlbinlog

55

Master Slave para failover/switchover

mysqlbinlog --read-from-remote-server --host=host_name –raw --stop-never

https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog-backup.html

Page 55: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Exemplos de uso da Replicação

• Redundância simples dos dados (Contingência)

• Backup

• Geo-redundância (DR)

• Dado mais próximo do cliente

• Escalabilidade de Leituras

– Dividir cargas OLTP e OLAP

– Read-write split

Page 56: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Geo-redundância para Disaster Recovery

Topologias com múltiplos slaves

57

Site 1 Master

Site 2 Slave

Ativo Passivo

Page 57: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Exemplos de uso da Replicação

• Redundância simples dos dados (Contingência)

• Backup

• Geo-redundância (DR)

• Dado mais próximo do cliente

• Escalabilidade de Leituras

– Dividir cargas OLTP e OLAP

– Read-write split

Page 58: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dado mais próximo do cliente para Leituras

Topologias com múltiplos slaves

59

Master read-write

Slave 1 read-only

Réplica do Master

Slave 2 read-only Réplica do Master

Slave 3 read-only Réplica do Slave 1

Page 59: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Consolidação de Múltiplos Masters em um Slave

Replicação Multi-Source: mais flexibilidade nas topologias

60

Slave

Master 3 read-write

Master 2 read-write

Master 1 read-write

Page 60: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Restrições e recomendações para Replicação

• A replicação convencional ocorre na camada de acesso aos dados (SQL), portanto funciona com qualquer storage engine, mas recomenda-se InnoDB

• InnoDB é recomendado por ser crash-safe, facilitando operações de crash-recovery e provisionamento via MEB

• Failover automático requer GTID e Row Format

• A replicação do NDB Cluster é diferente da replicação convencional e ocorre na camada de dados

Page 61: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 62

Group Replication: multi-master Ativo-Ativo

Router

App

Virtually Synchronous Replication

App App

labs.mysql.com

Page 62: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Exemplos de uso da Replicação do NDB Cluster

• Redundância dos dados

– Ativo-Ativo

• Escalabilidade de Leituras

– Consistência forte, load balancing

• Escalabilidade de Escritas – Auto-sharding

• Geo-replicação

Page 63: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 64

MySQL Cluster: Escalabilidade de Escritas

Page 64: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Resumo das opções

Replication Shared Disk

Virtualization Group Replication

Cluster Carrier Grade Edition

Failover Speed Config. Medium High High

Geo-Redundancy High None Config. High

Scaling Read None Read R/W

Ease of Migration From Stand-alone InnoDB to HA

Medium High High Low

Zero-Loss During Failure Config. Yes Config. Yes

Page 65: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Agenda

1. Alta disponibilidade (HA) – conceitos básicos

2. Arquiteturas e topologias de HA para MySQL

3. Monitoramento e gerenciamento

Page 66: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 67

Page 67: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 68

Page 68: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 69

Page 69: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 70

Page 70: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 71

Page 71: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Page 72: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

MySQL Utilities

• Binary Log Operations

• Database Operations

• General Operations

• Server Operations

• Specialized Operations

• High Availability Operations

– How Can I Use Replication?

– How Do I Add New Servers to My Topology and Change Master Role

– Setup Automatic Failover

– Restore the Previous Master After Failover

– How Can I Find All of the Slaves Attached to My Master Server?

– How To Check If Data Is Correctly Replicated?

– How To Fix Errant Transactions on the Replication Topology?

73

dev.mysql.com/doc/mysql-utilities/1.6/en/mysql-utils-ha.html

Page 73: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

MySQL Utilities – Exemplo switchover

shell> mysqlrpladmin --master=root@server2:3312 \

--slaves=root@server2:3313,root@server4:3314,root@server5:3315 \

--rpl-user=rpl:rpl --new-master=root@server1:3311 --demote-master

switchover

# Checking privileges.

# Performing switchover from master at server2:3312 to slave at server1:3311.

# Checking candidate slave prerequisites.

# Checking slaves configuration to master.

# Waiting for slaves to catch up to old master.

# Stopping slaves.

# Performing STOP on all slaves.

...

74

dev.mysql.com/doc/mysql-utilities/1.6/en/mysql-utils-ha.html

Page 74: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

MySQL Utilities – Exemplo switchover

...

# Switchover complete.

# Replication Topology Health:

+----------+-------+---------+--------+------------+---------+

| host | port | role | state | gtid_mode | health |

+----------+-------+---------+--------+------------+---------+

| server1 | 3311 | MASTER | UP | ON | OK |

| server2 | 3312 | SLAVE | UP | ON | OK |

| server3 | 3313 | SLAVE | UP | ON | OK |

| server4 | 3314 | SLAVE | UP | ON | OK |

| server5 | 3315 | SLAVE | UP | ON | OK |

+----------+-------+---------+--------+------------+---------+

75

Page 75: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

MySQL Enterprise Edition Suporte + Base de Conhecimento + Hot Backup + Monitor + Oracle EM + Workbench + Plug-ins

Escalabilidade Autenticação

Firewall Auditoria novo TDE

Criptografia

MySQL Enterprise Monitor Oracle EM for MySQL

Plug-ins

Suporte

Hot Backup

Monitor & Workbench

Page 76: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Sumário

1. HA não é simples nem de graça

2. O MySQL possui diversas opções para HA

3. Entenda os requisitos, compare as possíveis arquiteturas e topologias, faça a melhor escolha!

Page 77: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

@MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR

pt.planet.mysql.com

Page 78: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Obrigado!

Page 79: Alta disponibilidade no MySQL 5.7 GUOB 2016

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Perguntas?

Alta Disponibilidade no MySQL 5.7 Contato: [email protected] twitter.com/mysqlbr facebook.com/mysqlbr