Backup MySQL
Este guia ajudará você a fazer um backup completo do seu banco de dados MySQL sem desligar o sistema. Foi escrito e testado pela equipe de devops da Navixy, portanto você pode confiar nele como uma solução conhecida e funcional.
Esta instrução é válida para MySQL das versões 8.xx (menor ou igual a 8.0.29) e 5.xx. Ela foi escrita, testada e pode ser aplicada nos seguintes sistemas operacionais:
Ubuntu 18.04, 20.04
Debian 9, 10, 11
Para outros sistemas operacionais e versões de software, ela pode ser aplicada e adaptada por sua própria conta e risco.
O que você precisa para fazer um backup completo do seu banco de dados MySQL sem desligar o sistema:
Conectar um volume adicional em um disco separado para o qual o backup será realizado.
Instalar software adicional - https://www.percona.com/software/mysql-database/percona-xtrabackup
Obter as credenciais de um usuário MySQL existente ou criar um usuário especificamente para backup
Todas as operações devem ser realizadas como um usuário com direitos de root, ou usando sudo.
Abaixo analisaremos com mais detalhes as etapas que você precisa executar.
Criação de um usuário
Como exemplo, criaremos o usuário chamado bkpuser com os direitos mínimos suficientes para criar um backup completo e a senha s3cret.
Primeiro você precisa entrar no console do MySQL com direitos administrativos, exemplo:
mysql -uroot -pEm seguida, no console do MySQL, insira os comandos específicos para diferentes versões do MySQL:
MySQL 5.xx
MySQL 8.xx
Volume de backup
Agora precisamos calcular o tamanho do volume adicional para o qual o backup será realizado.
Para determinar o tamanho do volume necessário para o backup do banco de dados, você precisa encontrar o tamanho do seu banco de dados atual e multiplicá-lo por 1,5.
Se o seu banco de dados estiver em um local padrão definido durante a instalação do servidor MySQL, você precisa executar o seguinte comando com privilégios de root:
Se você tiver um local de banco de dados personalizado, deve especificar o caminho do banco de dados como argumento para o comando du, ou seja:
Exemplo de cálculo

Na captura de tela podemos ver que o tamanho atual do banco de dados MySQL é 181 GB. Portanto, o tamanho do volume para fazer backup deste banco de dados deve ser pelo menos 181 * 1.5 = 271,5 GB, arredondado para 272 GB
O cálculo se aplica a uma única cópia do banco de dados. Se você planeja manter mais de uma cópia de backup do banco de dados, lembre-se de multiplicar o resultado pelo número de backups armazenados.
Software de backup
Após conectar o novo volume e criar um sistema de arquivos nele, é necessário instalar o software exigido para o backup do banco de dados. Esse software se chama https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html. Considere instalá-lo usando pacotes de instalação prontos disponíveis nos repositórios do Percona XtraBackup.
A instalação é feita via o pacote que contém o percona-release utilitário de configuração.
Primeiro de tudo, baixe este pacote dos repositórios do Percona XtraBackup com o seguinte comando:
O próximo passo é executar a instalação do pacote baixado usando o utilitário dpkg. Você deve estar root ou usar sudo para executar este comando:
Agora configure os repositórios necessários para esse fim:
Exceção para Debian 10
No Debian 10 a etapa acima retorna um erro:

Para corrigir esse erro, você precisa editar o arquivo /etc/apt/sources.list
Abra este arquivo em qualquer editor de texto, ou seja:
Adicione a seguinte linha à lista no topo:
O conteúdo do arquivo ficará algo parecido com isto:
Salve as alterações no arquivo e então execute os seguintes comandos:
Agora você está pronto para instalar a utilidade de backup. Para isso, use o seguinte comando como root ou sudo:
para MySQL versão 5.xx:
para versões do MySQL 8.xx menores ou iguais a 8.0.29:
Isto conclui o procedimento de instalação da utilidade Percona XtraBackup.
Criação do backup
Agora você irá criar um backup completo do banco de dados usando o Percona XtraBackup.
o comando de backup é executado no mesmo servidor onde o banco de dados copiado está armazenado
no exemplo abaixo o volume adicional de backup montado em
/mnt/backupspastaum usuário pré-criado
bkpusercom uma senhas3creté usado para conectar ao banco de dados
Após concluir o backup, você precisa preparar o banco de dados copiado para uso. Sem esta operação, o banco de dados ficará inoperante.
Agora você tem uma cópia do banco de dados que está atualizada no momento de sua criação, criada sem parar o servidor e sem remover a carga de trabalho dele.
Esta cópia de backup pode ser usada para restaurar seu banco de dados em caso de emergência.
Atualizado
Isto foi útil?