Obter o mysql para bloquear todas as novas conexões, mas honrar as existentes em preparação para serem retiradas de serviço

1

Eu estou procurando uma maneira de fazer o MySQL (na verdade, o MariaDB) bloquear todas as novas conexões, mas honrar as existentes. Eu pretendia colocar essa restrição em prática antes de desativar o servidor para manutenção. Eu imagino o processo da seguinte forma:

  1. Bloquear novas conexões
  2. Aguarde até que as conexões existentes tenham terminado
  3. Verifique se todos estão concluídos
  4. Retirar o servidor
  5. Executar manutenção
  6. Fazer backup do servidor

Estou pensando que possivelmente isso poderia ser feito com max_connections , mas ainda precisaria ser capaz de se conectar para determinar se todos os processos foram concluídos. Ou você pode alterar os IPs que o servidor escutará sem reiniciar? Ou talvez isso possa ser feito bloqueando o usuário, mas esse é um cluster replicado com o Galera, portanto, só quero que isso afete um único nó.

Obrigado pela sua ajuda.

    
por Luke Cousins 12.06.2014 / 11:28

1 resposta

2

Seria mais fácil alterar o IP do loadbalancer - as conexões completas de estado serão concluídas e as novas serão redirecionadas para o outro servidor MySQL. Quando você não puder ver mais conexões no servidor MySQl que devem ser mantidas, altere o IP, reinicie o servidor, adicione o servidor de volta ao HA. Por favor, verifique isso como esta solução realmente depende do ambiente

    
por 12.06.2014 / 15:49

Tags