Dan C está certo sobre o dinheiro, mas eu gostaria de ser mais específico sobre os primeiros 3 passos
Por causa da velocidade, e para evitar desastres , faça tudo no cliente CLI mysql da seguinte forma:
sudo mysql -e "FLUSH TABLES; FLUSH TABLES WITH READ LOCK; SYSTEM ec2-create-snapshot vol-4d826724; UNLOCK TABLES;"
Estou contando com os seguintes pontos:
- A aquisição do bloqueio de leitura pode levar algum tempo se houver um comando UPDATE, DELETE ou INSERT de longa duração. Eu emito TABELAS DE FLUSH preparatórias para minimizar o tempo de bloqueio de qualquer tabela.
- O cliente mysql pode passar comandos para o sistema operacional host com o SYSTEM , e faz isso como o usuário executando o cliente mysql. (É por isso que eu usei sudo)
- Quando você disse que usava ESB no EC2, que eu nunca usei, procurei esta documentação para você . Você tem que procurar o que colocar para o "vol-XXXXXXXX"
- Simplifique um pouco sua vida e coloque uma senha em ~ root /. my.cnf
Eu vejo isso descrever ambiguamente, ou flagrantemente errado toda a internet! A documentação diz claramente: " Se uma conexão do cliente falhar, o servidor libera os bloqueios de tabela retidos pelo cliente. ". Então, você não pode abrir o cliente mysql, flush + lock, sair do cliente, fazer snapshot, abrir o cliente mysql, desbloquear tabelas. Você vai acabar com um instantâneo inconsistente.
Alguns leitores extra-afiados identificam corretamente que o "UNLOCK TABLES" é desnecessário, porque a conexão do cliente será fechada no final de qualquer forma. Eu coloco lá porque torna as pessoas mais confortáveis.
Eu citei seis fontes para você. Espero que você se sinta confiante fazendo isso agora. Deixe-nos saber se você tem mais incerteza.